Foreign key NULL и criteria->with()

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Zvook
Сообщения: 21
Зарегистрирован: 2013.03.06, 13:06

Foreign key NULL и criteria->with()

Сообщение Zvook »

Всем привет!

Такая вот ситуация.
Есть 2 таблицы, скажем post и user. Пост может быть оставлен как юзером user_id = 1 так и гостем user_id = null.
На post.user_id висит FK на user.id, в AR rules() все ето прописано, все работает, но!
Если user_id = null и сделать следующее:

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

        $c = new CdbCriteria();
        $c->with['user'] = array(
            'select' => false,
            'joinType' => 'INNER JOIN',
            'condition' => 'user.is_active = 1'
        );
        Post::model()->findAll($c);
То посты от гостя(user_id = null) не выбираются.

Что нужно мне:
Чтобы джоинилась таблица user, только если post.user_id IS NOT NULL

Собственно вопрос: Как это сделать? )

PS Таблицы и поля придуманы для наглядного примера, по этому поводу вопросы не задавать :)


Zvook
Сообщения: 21
Зарегистрирован: 2013.03.06, 13:06

Re: Foreign key NULL и criteria->with()

Сообщение Zvook »

Inner join produces only the set of records that match in both Table A and Table B.
Ну вроде как оно, мне же не нужны юзеры у которых is_active != 1, но которые сами по себе существуют.
Или я чего-то не понимаю?

Ответить