Почему при указанном условии в связи с типом HAS_MANY, при отсутствии данных в связанной таблице, не находит основную запись?

Существует класс AR Publications, который связан с классом Commentaries.
Таблица commentaries, хранит комментарии относящиеся ко многим модулям, не только к Publications, следовательно при выборке необходимо указать условие.
При попытке выбрать запись, для которой отсутствуют комментарии, получаю ничего. :(

Описание связи
...
'commentariesToDetail' => [
	self::HAS_MANY,
	'Commentaries',
	array('parent_id' => 'id'),
	'condition' => 'commentariesToDetail.module = :module',
	'params' => array(':module' => Commentaries::MODULE_PUBLICATIONS),
]
...
  • Вопрос задан
  • 2535 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Cage
Потому что у вас указано условие для выборки
'condition' => 'commentariesToDetail.module = :module',

соответственно вы пытались выбрать все записи Publications у которых есть комментарии со значением поля 'module' равным Commentaries::MODULE_PUBLICATIONS

уберите условие или замените эту строку на следующую :
'on' => 'commentariesToDetail.module = :module',
Ответ написан
Ваш ответ на вопрос

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

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