Работа с моделью в виде(view)
Активируется контроллер Index:
public function actionIndex()
{
return $this->render('index');
}
Далее, в view происходит выборка данных:
use app\models\Manuals;
foreach(Manuals::find()->all() as $manual)
{
$authors = $manual->getAuthors()->all();
echo $manual['title_'.Yii::$app->language].'___['.$manual['type'].']';
foreach($authors as $author)
{
echo ' - '.$author['fio_'.Yii::$app->language];
}
echo '<br>';
}
Всё работает и хорошо даже, это мне посоветовали на форуме, но, мне кажется, Вид(view) не должен вообще иметь никаких дел с моделью, ему дают данные - он их прорисовывает, но не выбирает.
Переместить этот код в контроллер - не могу, т.к.:
foreach(Manuals::find()->all() as $manual)
не работает, если задать вот так:
foreach($manuals as $manual)
где $manuals - это уже выбранные данные через контроллер.
А не работает, потому что:
$authors = $manual->getAuthors()->all();
Ошибка, функция не определена, когда я выборку в контроллере делаю и в foreach передаю уже объект.