Yii2 findOne возвращает мне массив, но не объект (ActiveRecord)

1

Я пытаюсь использовать метод afterFind модели

public function afterFind() {                


        $group = GroupMember::findOne(1);;

        Yii::info($group->id);

        parent::afterFind();
    }

И ошибка

Попытка получить свойство не объекта

Я обнаружил, что findOne возвращает массив со значениями столбца.

Мой вопрос - это то, что я делаю неправильно, или только после того, как я сделал это?

Благодарю.

  • 0
    у вас есть синтаксическая ошибка: $ group = GroupMember :: findOne (1) ;; удалить один ';'.
Теги:
yii2
activerecord

2 ответа

1

@Awesome AP - это не срочная синтаксическая ошибка (с ";;")

@arogachev - в документации говорится, что

Возвращает один экземпляр активной активной записи с помощью первичного ключа или массива значений столбца

и он действительно возвращает мне массив, но я не знаю, почему.

К счастью, я исправлю это $group = GroupMember::find(1)->one(); ,

Но ты танцевал за меня.

1

Посмотрите на документы, findOne() не может вернуть массив.

Скорее всего, запись с id = 1 dosn't существует, и вы получите null. afterFind() имеет к этому никакого отношения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню