Здравствуйте. Недавно начал изучать замечательный фреймворк Yii2. В инструкции указаны несколько способов выборки из БД. Можно использовать построитель запросов, можно ActiveRecord. В первом случае я могу сделать вот такой запрос:
$data= (new Query())
->select(['title', 'text', 'category'])
->from('Posts')
->leftJoin('category', 'posts.id_categoryes = category.id_category')
->all();
и во вьюхе вывести потом информацию
<?php foreach ($data as $key => $row): ?>
<?= $row['title']?>
<?= $row['category']?>
<?= $row['text']?>
<?php endforeach ?>
Во втором случае запрос выглядит вот так:
$data = Posts::find()->all();
гораздо более приятно глазу и проще, но есть для меня подводный камень, а именно реляционная связь, описанная в модели
public function getIdCategoryes()
{
return $this->hasOne(Category::className(), ['id_category' => 'id_categoryes']);
}
благодаря которой вьюха немного усложняется
<?php foreach ($data as $key => $row): ?>
<?= $row['title']?>
<?= $row->idCategoryes->category;?>
<?= $row['text']?>
<?php endforeach ?>
Какие минусы я получу, если буду использовать построитель запросов? Мне кажется он более лаконичным, выбираю практически на чистом sql только нужные мне поля.