带有字段的cakephp搜索通配符


cakephp with fields search wildcards

如何为所有记录设置带通配符的整数变量。原因是,如果没有设置id,有时我需要所有记录。我的通配符不起作用。我目前使用if条件来测试id是否已设置,并且有4个组合和2个变量。

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')) );

如果您想要野生搜索或选择所有记录,请使用:

更新添加更好的方式

//更好的方式->

$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')
                                        ) 
                                 );