Задать вопрос
jey_val_star
@jey_val_star
Программист

Почему нужно так извращаться в Yii2?

Есть запрос который без проблем работает
$query = News::find()
		->select(['{{%news}}.id as nid','{{%news}}.`name` as `nname`', 'SUBSTRING({{%news}}.`text`, 1, 256 ) AS `ntext`', '{{%news}}.date', '{{%category}}.`id` AS catid','{{%category}}.`name` AS catname'])
		->leftJoin('{{%category}}', '{{%category}}.id = {{%news}}.category_id')
		->where($where['where'], $where['arr']);

Но мне не нравится что все поля нужно переименовывать....
Может есть боле рациональный способ связать две таблицы?
  • Вопрос задан
  • 506 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
алиасы?

Почему нужно так извращаться в Yii2?

Потому что люди могут.
Ответ написан
Комментировать
А если вы без билдера напишете SQL-запрос, разве вам не нужно будет "поля переименовывать"?
Проблема скорее в "Почему нужно так извращаться в SQL?"
Сам не считаю это извращением, но встречал такое решение: называть поля в таблицах как news_id, news_name (в news) и category_id, category_name (в category). Ну в общем вы поняли, все поля получаются с уникальными именами ;)
Ответ написан
Комментировать
sanchezzzhak
@sanchezzzhak
Ля ля ля...
https://github.com/yiisoft/yii2/blob/master/docs/g...
Relational hasOne

ну или продолжайте делать кучку >.<
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы