Фильтр findAll по связанному в CakePHP 1.1 - PullRequest
0 голосов
/ 27 сентября 2011

Мне нужна помощь для решения проблемы с проектом CakePHP 1.1 и запросом findAll.

Вот запрос:

$events = $this->EventCategory->findAll(null, null, array("EventCategory.name" => "ASC"));

И это пример массива результатов:

    [1] => Array
    (
        [EventCategory] => Array
            (
                [id] => 1
                [name] => Agencias
                [date] => 2009-12-15 16:07:08
            )

        [EventSubcategory] => Array
            (
                [0] => Array
                    (
                        [id] => 2
                        [event_category_id] => 1
                        [name] => Agencias de marketing promocional
                        [date] => 2009-12-15 16:09:51
                        [Event] => Array
                            (
                                [0] => Array
                                    (
                                        [id] => 1
                                        [event_subcategory_id] => 2

Проблема в том, что мне нужно отфильтровать по Event.id = X, в Cake 1.2+ я использую содержимое и фильтр по связанной таблице, но в 1.1 я не могу найти документацию для этого.

PS: проект слишком велик для переноса версии.

1 Ответ

0 голосов
/ 27 сентября 2011

Вы пытались добавить Event.id к вашим условиям? Если у вас правильно установлен рекурсивный набор (который выглядит так, как у вас), это может сработать.

Если вы хотите быть уверенным, то, возможно, стоит добавить Event и в вашу модель EventCategory.

var $hasMany = array(
  'EventSubcategory' => array(
    'className' => 'EventSubcategory',
    'foreignKey' => 'event_category_id',
    'dependent' => false,
    'conditions' => '',
    'fields' => '',
    'order' => ''
  ),
  'Event' => array(
    'className' => 'Event',
    'foreignKey' => false,
    'dependent' => false,
    'conditions' => 'Event.event_subcategory_id = EventSubcategory.id',
    'fields' => '',
    'order' => ''
  )
);

Убедитесь, что событие добавлено в $ hasMany после EventSubcategory.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...