@Ultraice

Как вызвать метод модели из вида?

Вопрос по yii2. В контроллере изменил формат данных с объекта на массив ф-ций asArray().
$games = $games->asArray()->all();
После этого соответственно перестали работать методы модели которые вызывал в виде. Т.к приходит массив.
foreach ($games as $key => $game){
    echo $game->pretty_date($game->date_add]);
}


Есть другие пути ? Как вариант делать методы статическими и в виде подключать класс модели или перенести методы в контроллер, но как мне кажеться все должно быть проще )
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 1
qonand
@qonand
Software Engineer
1. Вы не можете использовать методы, т.к. у Вас нет класса у Вас есть массив, а в нем методов нет
2. С какой целью Вы используете массив? У Вас выбираются сотни тысяч записей? или вообще с какой целью вы его используете?
3. Если Вы уже работает с массивом то конструкция $game->date_add не имеет смысла, т.к. это не объект у него не может быть свойств. С массивом нужно работать как $game['date_add']
4. Судя по коду метод pretty_date форматирует дату в нужный Вам вид. Вот только вопрос - зачем? если есть встроенный механизм форматирования - подробнее о нем можно почитать здесь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы