public function getData(){
$cates=Cats::find()->asarray()->all();
return $cates;
}
上面那是模型里的代码.
$catsModel=Cats::model();
$cates=$catsModel->getData();
这是控制器调用时写的,现在问题是,我打印那个$cates会报错
Non-static method CActiveRecord::find() should not be called statically
或者说asarray()未定义,我在模型上面该use哪些东西呢?是不是因为我模型上面一个没use才报错,直接是
class Cats extends CActiveRecord{
public static function model($className= __CLASS__){
return parent::model($className);
}
求助高人,请教我如何能在控制器里调那个getData取cats表时能调用数组出来而不是对象,我该添加哪些东西才不报错,谢谢指教。
我说下我目前发现的问题:
1.问题说的是yii2,代码中出现CActiveRecord,这个类是yii1才有的
2.model中的public static function model($className= __CLASS__)这个方法在yii2的yiidbActiveRecord中也没有
3.PHP报错
字面意思:CActiveRecord::find()不是静态方法,但是题主使用的是静态调用方式
综上所述,题主的问题定位不清,无法作答。
控制器里调用请:
另外,你这里的
应该改成:
或者先
他依然找不到那个asArray,是不是这个结构目录错了,老兄,我改了好几次目录依然不行,实在抱歉麻烦你了kumfo
···php
···
先弄清楚你的项目用的是Yii1的框架还是2的框架,找对应的手册看看。另外尽量不要在控制器里直接调model取数据,保持结构清晰。