CakePHP / MySQL条件和/或结果输出 - 逻辑

时间:2011-11-28 19:09:04

标签: mysql cakephp logic

我正在尝试修改我的查询以包含记录w / Plan.id == 848(这是我需要的非常具体的记录,无论其他结果如何)。所以 848应该随时都包括在内,尽管和其他结果 ..我认为一个简单的AND会解决这个问题,但是那个查询(如下所示)只包括我的结果中的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 个答案:

答案 0 :(得分:1)

只需进行另一个数据库查询并手动组合结果。这需要1毫秒的用户时间。如果这是一个问题,您可以随时缓存额外的查询。

答案 1 :(得分:0)

我只会在848记录中给UNION结果。任何其他东西都可能会破坏AND和OR,或者至少使代码过于复杂。