我正在尝试修改我的查询以包含记录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'))
),
答案 0 :(得分:1)
只需进行另一个数据库查询并手动组合结果。这需要1毫秒的用户时间。如果这是一个问题,您可以随时缓存额外的查询。
答案 1 :(得分:0)
我只会在848记录中给UNION结果。任何其他东西都可能会破坏AND和OR,或者至少使代码过于复杂。