0

我正在尝试使用这种行为ejsonbehavior,但它没有正确启动。

分机:http ://www.yiiframework.com/extension/ejsonbehavior/


ejsonbehavior 行为路径:

extensions/behaviors/EJsonBehavior.php

模型 - Users.php:

public function behaviors()
{
    return array(
        'EJsonBehavior' => array('class' => 'ext.behaviors.EJsonBehavior'),
    );
}

控制器.php:

$model = Users::model()->findAll();
echo $model->toJSON();

错误结果:

Fatal error: Call to a member function toJSON() on a non-object in .../Controller.php on line x
4

1 回答 1

4

这与行为无关。您的控制器函数正在返回一个数组:

Users::model()->findAll();

该行为附加到数组的每个元素。所以你要对数组中的每个模型执行 toJSON() :

foreach($model as $item) {
  echo $item->toJSON();
}

或者您查看文档以获取更合适的方法来获取一个模型以执行您的回声: http ://www.yiiframework.com/doc/api/1.1/CActiveRecord

于 2013-09-26T23:09:44.947 回答