在 yii 框架中调用未定义的方法 stdClass::save()

我正在建立聊天弹出窗口,一个用户将在其中发起与另一个用户的对话。在我的 initietchat 函数中,我有以下错误调用未定义的方法 stdClass::save()。


查看代码并找到THIS SAVE FUNCTION ==>>抛出错误的 save() 函数。


如果两个用户已经发起对话,则不会发生此错误。


public function actionInitiatechat() {

        if (isset($_POST)){

            //$message = Myclass::checkPostvalue($_POST['message']) ? $_POST['message'] : "";

            $senderId = Myclass::checkPostvalue($_POST['sender']) ? $_POST['sender'] : "";

            $receiverId = Myclass::checkPostvalue($_POST['receiver']) ? $_POST['receiver'] : "";

            $messageType = Myclass::checkPostvalue($_POST['messageType']) ? $_POST['messageType'] : "";

            $sourceId = Myclass::checkPostvalue($_POST['sourceId']) ? $_POST['sourceId'] : "";

            $timeUpdate = time();

            $message = $_POST['message'];

            $Products = Products::model()->findByPk($sourceId);

            if(isset($Products) && $Products->approvedStatus == 0)

            {

                echo "error";

            }

            else

            {




    $criteria = new CDbCriteria;

                    $criteria->condition = "(user1 = '$senderId' AND user2 = '$receiverId') OR (user1 = '$receiverId' AND user2 = '$senderId')";


                    $chatModel = Chats::model()->find($criteria);


                    $encodeMsg = urlencode($message);


                    if (empty($chatModel)){

                        $newChat = new Chats();

                        $newChat->user1 = $senderId;

                        $newChat->user2 = $receiverId;

                        $newChat->lastMessage = $encodeMsg;

                        $newChat->lastToRead = $receiverId;

                        $newChat->lastContacted = $timeUpdate;


                        $newChat->save();


                        $criteria = new CDbCriteria;

                        $criteria->condition = "(user1 = '$senderId' AND user2 = '$receiverId') OR (user1 = '$receiverId' AND user2 = '$senderId')";


临摹微笑
浏览 214回答 1
1回答

慕少森

下面的语句大概是返回一个“裸”类型的对象stdClass,它没有定义save()方法,因此你的错误。$chatModel = Chats::model()->find($criteria);在此语句之后立即运行var_dump($chatModel);并查看您获得的对象类型。
打开App,查看更多内容
随时随地看视频慕课网APP