使用getAttributes方法时出现错误:“在非对象上调用成员函数getAttributes()”。
现在,在我的控制器中:
$notifications = Notifications::return_new()->getAttributes();
var_dump($notifications);
在模型中
public static function return_new(){
return Notifications::find()->where(['is_seen' => 0])->all();
}
现在,Yii文档说getAttribute()将数组作为参数,所以我尝试了
$notifications = Notifications::return_new()->getAttributes('text');
但它仍然存在相同的错误。有什么帮助吗?
这是模型
<?php
namespace frontend\models;
use Yii;
*/
class Notifications extends \yii\db\ActiveRecord
{
public static function tableName()
{
return 'notifications';
}
public function rules()
{
return [
[['created_on', 'user_id', 'text'], 'required'],
[['user_id'], 'integer'],
[['created_on'], 'safe'],
[['text'], 'string', 'max' => 255]
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'created_on' => 'Created On',
'user_id' => 'User ID',
'text' => 'Text',
];
}
public static function count_new()
{
$new = Notifications::find()->where(['is_seen' => 0])->all();
return count($new);
}
public static function return_new(){
return Notifications::find()->where(['is_seen' => 0])->all();
}
public function return_all(){
return Notifications::find()->all();
}
public static function checkst(){
return Notifications::find()->where(['id' => 3])->one();
}
public function return_by_date () {
// write something here.
}
}
如果您使用的all()
是模型的集合,则应参考
Notifications::return_new()[0]->getAttributes();
否则你可以
public static function return_new(){
return Notifications::find()->where(['is_seen' => 0])->one();
}
在这种情况下,您可以使用
$notifications = Notifications::return_new()->getAttributes();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句