如何为所有记录设置带通配符的整数变量。原因是如果未设置id,我有时需要所有记录。我的通配符不起作用。我目前使用if条件来测试id是否已设置,并且有2个变量有4个组合。
LIKE选项对我来说也不起作用。
有没有办法为变量分配值以进行搜索,这等同于sql中的所有值,如。?例如
$tutorId='*';
$paycycleId='*';
$timesheet=$this->TimeSheet->find('all',array(
'conditions'=> array ('TimeSheet.tutor_id'=>$tutorId,'TimeSheet.period_start_date'=>$paycycleId ),
'order' => array('TimeSheet.invoice DESC')) );
答案 0 :(得分:1)
如果您想要疯狂搜索或选择所有记录,请使用:
更新了更好的方式
//更好的方式 - >
$conditionsArr = array();
if(CONDITION_SATISFIED){
$conditionsArr=array('TimeSheet.tutor_id'=>$tutorId,
'TimeSheet.period_start_date'=>$paycycleId
);
}
$timesheet=$this->TimeSheet->find('all',
array(
'conditions'=> $conditionsArr,
'order' => array('TimeSheet.invoice DESC')
)
);
//以前的方式 - >
$conditionsArrEmpty=array();
$conditionsArr=array('TimeSheet.tutor_id'=>$tutorId,
'TimeSheet.period_start_date'=>$paycycleId
);
//With Wildcard (Select All records)
$timesheet=$this->TimeSheet->find('all',
array(
'conditions'=> $conditionsArrEmpty,
'order' => array('TimeSheet.invoice DESC')
)
);
//使用Acutal条件
$timesheet=$this->TimeSheet->find('all',
array(
'conditions'=> $conditionsArr,
'order' => array('TimeSheet.invoice DESC')
)
);