$ model-> save()给我一个错误

用户名

我正在尝试建立评论系统。当我的表单发布后,并调用我的“ actionCreate”函数。我在萤火虫上收到错误消息。但是数据存储在我的数据库中。知道我在做什么错吗?

这是我在控制器中的动作

    public function actionCreate()
    {

         /** @var Comment $comment */
         $comment = Yii::createComponent($this->module->commentModelClass);

        // Uncomment the following line if AJAX validation is needed
         $user=new User;

         $this->performAjaxValidation(array($comment, $user));
         //end of Ajax validation

        $_user = Yii::app()->request->getPost('User');

        if(isset($_POST[$cClass=get_class($comment)], $_user))
        {
            $comment->attributes = $_POST[$cClass];
            //$comment->type = $_POST[$cClass]['type'];
            //$comment->key  = $_POST[$cClass]['key'];

            $user->attributes = $_user;

            // determine current users id
            if (Yii::app()->user->isGuest) {
                $comment->userId = null;
            } else {
                $comment->userId = Yii::app()->user->id;
            }

            if(Yii::app()->request->isAjaxRequest) 
            {
                /* the error happens here */
                if($comment->save())
                {
                    // refresh model to replace CDbExpression for timestamp attribute
                    $comment->refresh();

                    // create new comment model for empty form
                    $comment = Yii::createComponent($this->module->commentModelClass);
                    //$comment->type = $_POST[$cClass]['type'];
                    //$comment->key  = $_POST[$cClass]['key'];
                }
                else { 
                     //Return messages from try/catch
                    echo CJSON::encode(array(
                        'msg' => 'Check your form, and fill up all required fields'
                    ));
                }

                Yii::app()->end();

            } 
            else 
            {
                if($comment->save()) {
                    $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('view','id'=>$comment->id));
                } 
                else {
                     //Return messages from try/catch
                    echo CJSON::encode(array(
                        'msg' => 'Check your form, and fill up all required fields'
                    ));
                }

                Yii::app()->end();
            }
        }

    }

我的评论对象

Comment Object
(
    [_type:Comment:private] => 
    [_key:Comment:private] => 
    [_new:Comment:private] => 
    [_attributes:CActiveRecord:private] => Array
        (
            [money] => 2
            [reliability] => 2
            [recommend] => 1
            [pending] => 1
            [title] => test!!!!!
            [message] => test!!!!!test!!!!!test!!!!!test!!!!!test!!!!!test!!!!!test!!!!!
        )

    [_related:CActiveRecord:private] => Array
        (
        )

    [_c:CActiveRecord:private] => 
    [_pk:CActiveRecord:private] => 
    [_alias:CActiveRecord:private] => t
    [_errors:CModel:private] => Array
        (
        )

    [_validators:CModel:private] => CList Object
        (
            [_d:CList:private] => Array
                (
                    [0] => CSafeValidator Object
                        (
                            [attributes] => Array
                                (
                                    [0] => message
                                )

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [1] => CInlineValidator Object
                        (
                            [method] => validateType
                            [params] => Array
                                (
                                    [on] => create
                                )

                            [clientValidate] => 
                            [attributes] => Array
                                (
                                    [0] => type
                                )

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                    [create] => create
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [2] => CInlineValidator Object
                        (
                            [method] => validateKey
                            [params] => Array
                                (
                                    [on] => create
                                )

                            [clientValidate] => 
                            [attributes] => Array
                                (
                                    [0] => key
                                )

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                    [create] => create
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [3] => CInlineValidator Object
                        (
                            [method] => validateType
                            [params] => Array
                                (
                                    [on] => create
                                )

                            [clientValidate] => 
                            [attributes] => Array
                                (
                                    [0] => type
                                )

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                    [create] => create
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [4] => CInlineValidator Object
                        (
                            [method] => validateKey
                            [params] => Array
                                (
                                    [on] => create
                                )

                            [clientValidate] => 
                            [attributes] => Array
                                (
                                    [0] => key
                                )

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                    [create] => create
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [5] => CRequiredValidator Object
                        (
                            [requiredValue] => 
                            [strict] => 
                            [trim] => 1
                            [attributes] => Array
                                (
                                    [0] => recommend
                                )

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [6] => CRequiredValidator Object
                        (
                            [requiredValue] => 
                            [strict] => 
                            [trim] => 1

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [7] => CRequiredValidator Object
                        (
                            [requiredValue] => 
                            [strict] => 
                            [trim] => 1


                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [8] => CRequiredValidator Object
                        (
                            [requiredValue] => 
                            [strict] => 
                            [trim] => 1


                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [9] => CUniqueValidator Object
                        (
                            [caseSensitive] => 1
                            [allowEmpty] => 1
                            [className] => 
                            [attributeName] => 
                            [criteria] => Array
                                (
                                )

                            [message] => 
                            [skipOnError] => 1

                            [on] => Array
                                (
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [10] => ENumberPlateValidator Object
                        (

                            [attributes] => Array
                                (
                                    [0] => no_plate
                                )

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                    [11] => CSafeValidator Object
                        (
                            [attributes] => Array
                                (
                                    [0] => id
                                    [1] => message
                                    [2] => userId
                                )

                            [message] => 
                            [skipOnError] => 
                            [on] => Array
                                (
                                    [search] => search
                                )

                            [except] => Array
                                (
                                )

                            [safe] => 1
                            [enableClientValidation] => 1
                            [_e:CComponent:private] => 
                            [_m:CComponent:private] => 
                        )

                )

            [_c:CList:private] => 12
            [_r:CList:private] => 
            [_e:CComponent:private] => 
            [_m:CComponent:private] => 
        )

    [_scenario:CModel:private] => insert
    [_e:CComponent:private] => Array
        (
            [onbeforesave] => CList Object
                (
                    [_d:CList:private] => Array
                        (
                            [0] => Array
                                (
                                    [0] => CTimestampBehavior Object
                                        (
                                            [createAttribute] => createDate
                                            [updateAttribute] => 
                                            [setUpdateOnCreate] => 
                                            [timestampExpression] => 
                                            [_enabled:CBehavior:private] => 1
                                            [_owner:CBehavior:private] => Comment Object
 *RECURSION*
                                            [_e:CComponent:private] => 
                                            [_m:CComponent:private] => 
                                        )

                                    [1] => beforeSave
                                )

                        )

                    [_c:CList:private] => 1
                    [_r:CList:private] => 
                    [_e:CComponent:private] => 
                    [_m:CComponent:private] => 
                )

        )

    [_m:CComponent:private] => Array
        (
            [CTimestampBehavior] => CTimestampBehavior Object
                (
                    [createAttribute] => createDate
                    [updateAttribute] => 
                    [setUpdateOnCreate] => 
                    [timestampExpression] => 
                    [_enabled:CBehavior:private] => 1
                    [_owner:CBehavior:private] => Comment Object
 *RECURSION*
                    [_e:CComponent:private] => 
                    [_m:CComponent:private] => 
                )

        )

    [_new:CActiveRecord:private] => 1
)

我得到的错误

 <b>Fatal error</b>:  Class name must be a valid object or a string in <b>/Library/WebServer/Documents/dev/common/lib/yii/framework/db/ar/CActiveRecord.php</b> on line <b>395</b><br />

这是CActiveRecord.php

public static function model($className=__CLASS__)
    {
        if(isset(self::$_models[$className]))
            return self::$_models[$className];
        else
        {
            $model=self::$_models[$className]=new $className(null); //this is line 395
            $model->attachBehaviors($model->behaviors());
            return $model;
        }
    }
伊丹·亨(Idan Hen)

这是在我的情况下进行评论的方式:

public function actionCreate(){

    $comment = new Comment;

    if($_POST[get_class($comment)]){
        // save data here 
        if ( $comment->save() ) {
            // comment saved !!
        } else {
            // comment not saved
        }
    }

    $this->render('new',array('comment'=>$comment));
}

在您的情况下,注释是组件而不是模型。
如果我不知道是否要提交表格。

评论模型的示例:

class Comment extends CActiveRecord
{
    $id;

    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function rules(){
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

GPS给我一个错误

来自分类Dev

我是我的setOnClickListener给我一个错误吗?

来自分类Dev

为什么我的SKAudioNode给我一个错误?

来自分类Dev

从NSDecimalNumber删除负号(-)给我一个错误

来自分类Dev

Django给我一个404错误

来自分类Dev

微调器给我一个NullPointerException错误

来自分类Dev

为什么这if语句给我一个错误

来自分类Dev

CakePHP获取IP给我一个错误的地址

来自分类Dev

jQuery ajax给我一个404 not found错误

来自分类Dev

为什么triggerHandler(event)给我一个错误?

来自分类Dev

片段在充气1时给我一个错误

来自分类Dev

nUnit中的ExpectedException给我一个错误

来自分类Dev

PyInstaller给我一个语法错误

来自分类Dev

.done ajax给我一个错误

来自分类Dev

在片段中使用“ this”给我一个错误

来自分类Dev

mysql where子句给我一个错误

来自分类Dev

小样本程序给我一个错误

来自分类Dev

Thread.join()给我一个错误?

来自分类Dev

String.length()给我一个错误的值

来自分类Dev

PyInstaller给我一个语法错误

来自分类Dev

.done ajax给我一个错误

来自分类Dev

Aurelia 快速入门或我的第一个应用程序 Hello World - No view model found 错误,2017

来自分类Dev

创建一个空数组的结构给我一个错误

来自分类Dev

ember-data model.save不是一个函数

来自分类Dev

当我从网页上运行我的Linkedin URL时,它给我一个错误

来自分类Dev

RSpec给我一个LoadError

来自分类Dev

给我一个MongoDB查询

来自分类Dev

Typescript给我一个错误:预期有0个参数,但有1个

来自分类Dev

为什么我的条件运算符给我一个错误?