CakePHP / MySQL Условие И / ИЛИ Вывод результатов - Логика - PullRequest
0 голосов
/ 28 ноября 2011

Я пытаюсь изменить свой запрос, чтобы включить запись с Plan.id == 848 (это очень конкретная запись, которая мне нужна, независимо от других результатов). Таким образом, 848 должен быть включен всегда, несмотря на и другие результаты .. Я думал, что простое И решит эту проблему, но этот запрос (как у меня ниже) включает только 848 в мои результаты. Я перепробовал множество вариантов AND / OR и не могу включить эту конкретную запись, несмотря на мои другие данные запроса.

                "OR" => array(
                'AND' => array(
                    $ApplicantAge . ' BETWEEN Age.Min_Age AND Age.Max_age',
                    'Zips.title'       => $Zip,
                    'Applicant.amount' => array($comboType, $memberCount),
                    "NOT"              => array(array('PlanDetail.company_id' => array('27', '3')))),
                array(
                    'Plan.id' => array('848')), // This 848 record should be included with any other results regardless of other query criteria.

                array(
                    $PsSpouseAge . ' BETWEEN Age.Min_Age AND Age.Max_age',
                    'Zips.title'            => $Zip,
                    'Applicant.amount'      => array($comboType, $memberCount),
                    'PlanDetail.company_id' => '27'),
                array(
                    $OdsSpouseAge . ' BETWEEN Age.Min_Age AND Age.Max_age',
                    'Zips.title'            => $Zip,
                    'Applicant.amount'      => array($comboType, $memberCount),
                    'PlanDetail.company_id' => '3'))
        ),

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Просто сделайте еще один запрос к базе данных и объедините результаты вручную.Это займет как 1 мс больше времени пользователей.Если это проблема, вы всегда можете кэшировать дополнительный запрос.

0 голосов
/ 28 ноября 2011

Я бы просто UNION в 848 записал результат. Что-нибудь еще может испортить AND и OR, или, по крайней мере, усложнить код.

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