Cakephp "присоединяется" разрушает условия? - PullRequest
1 голос
/ 19 октября 2010

Ошибка имеет состояние и имеет отношение ко многим группам пользователей.

Теперь, перечисляя ошибки, я использовал помощник по разбиению на страницы, а также дал пользователю возможность фильтровать его по различным параметрам.Прекрасно работает до сих пор.Вы можете отфильтровать его по проекту, вы можете отфильтровать его по состоянию (через свойство state_id ошибки) и по нескольким другим элементам.Теперь я хочу, чтобы он был отфильтрован группами, ответственными за ошибку.

Поскольку это соединение HABTM, я использовал «соединения» для соединения таблиц.

Вот как выглядит мой $ this-> paginate:

[limit] => 10
[contain] => Array
    (
        [0] => Project
        [1] => User
        [2] => Priority
        [3] => State
        [Comment] => Array
            (
                [0] => User
            )

        [4] => Screenshot
        [5] => Group
    )

[conditions] => Array
    (
        [Bug.project_id] => 26
        [Bug.state_id] => 1
    )

[Bug] => Array
    (
        [joins] => Array
            (
                [0] => Array
                    (
                        [table] => bugs_groups
                        [alias] => BugsGroups
                        [type] => inner
                        [conditions] => Array
                            (
                                [0] => BugsGroups.bug_id = Bug.id
                            )

                    )

                [1] => Array
                    (
                        [table] => groups
                        [alias] => Group
                        [type] => inner
                        [conditions] => Array
                            (
                                [0] => Group.id = BugsGroups.group_id
                                [Group.id] => 9
                            )

                    )

            )

    )

Странная вещь - как только я ищу группу с помощью «соединения», предыдущие условия (project_id, state_id) полностью игнорируются ?!Это ожидаемое поведение в торте и как бы я его обойти?

Ответы [ 2 ]

0 голосов
/ 25 октября 2010

Коллега нашел решение - проблема заключалась в размещении соединений внутри клавиши «Ошибка». Перемещение его на один шаг вверх ($ this-> paginate ['joins'] вместо $ this-> paginate ['Bug'] ['joins']) заставляет его работать прекрасно ...

0 голосов
/ 22 октября 2010

Не должно ли это:

[0] => BugsGroups.bug_id = Bug.id
[0] => Group.id = BugsGroups.group_id

Выглядеть как:

[BugsGroups.bug_id] => Bug.id
[Group.id] => BugsGroups.group_id

?

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