hasOne - нулевое условие для CakePHP find () - PullRequest
0 голосов
/ 05 января 2012

Я имею дело с довольно плохим унаследованным кодом, и есть запрос, извлекающий события из таблицы.Модель событий имеет $hasOne = array('blocked'); - моя цель - возвращать только те события, которые не имеют записи в заблокированной таблице.Несмотря на то, что $ hasOne устанавливается, торт все еще запрашивает таблицу заблокированных событий отдельно, поэтому я никогда не смогу использовать поля в качестве условий.

Сам запрос уже находится внутри 'contains' => ..., поэтому для использования 'joins' => ...принудительное принудительное объединение не работает.

Обновлено: вот запрос поиска, существующий сейчас:

$params = array(
    'conditions' => array(
        'Restaurant.id' => $id,
        'Restaurant.inactive' => 0, 'Restaurant.deleted' => 0,
        'Restaurant.bkwindow <=' => (strtotime($criteria['Restaurant']['date']) - strtotime("today"))/86400
    ),
    'fields' => array(),
    'contain' => array(
        'Experience' => array(
            'Experience_blocking'
        )
    )
);

Мне нужна таблица опыта, чтобы возвращать только результаты, которые НЕ содержат записейв таблице блокировок опыта.Опыт устанавливается с помощью $ hasOne of Experience_blocking, но он никогда не работает, он всегда запрашивает его в качестве содержимого.

1 Ответ

0 голосов
/ 05 января 2012

Поскольку вы не показываете много кода, я постараюсь угадать, в чем ваша проблема, и буду многословен. Вы не можете делать то, что хотите, используя контейнерное поведение.

Для более подробного ответа см. этот пост

...