связь hasOne по двум полям

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Gebel
Сообщения: 6
Зарегистрирован: 2016.02.04, 10:04

связь hasOne по двум полям

Сообщение Gebel » 2018.04.19, 08:41

Здравствуйте! Подскажите пожалуйста как правильно прописать связь по двум полям, причем одно из полей может быть NULL. Mysql позволяет сделать такой запрос SELECT * FROM table1 LEFT JOIN table2 ON table1.product_id=table2.product_id AND (table1.characteristic_id=table2.characteristic_id OR table2.characteristic_id is NULL). Как это сделать с помощью ActiveRecord на yii2?
Прописать связь по двум полям не проблема, а вот как написать условие, что второе поле может быть NULL?

andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: связь hasOne по двум полям

Сообщение andku83 » 2018.04.19, 12:09

Код: Выделить всё

new \yii\db\Expression("table2.characteristic_id is NULL")

Gebel
Сообщения: 6
Зарегистрирован: 2016.02.04, 10:04

Re: связь hasOne по двум полям

Сообщение Gebel » 2018.04.23, 13:08

Перерыл несколько форумов, не нашел как это возможно сделать. Решил вопрос пересмотрев структуру базы данных.

Ответить