2013-03-28 133 views
2
where concat(`year`,'-',`month`) BETWEEN '2013-02' AND '2013-03'; 

如何使用PHP蛋糕的自定義查詢分頁像這樣這個查詢..轉換查詢到的CakePHP查詢

$conditions = array('concat('Payroll.year','-','Payroll.month') BETWEEN ? and ?' => array(2013-02, 2013-03)); 

$staff_list = $this->Payroll->find("all", array("fields" => array("Payroll.id", "Payroll.month", "Payroll.year"),"conditions"=>$conditions)); 

謝謝。

+0

你沒有指定你的CakePHP版本。在Cake 2.x中,你可能會在這裏使用虛擬域。 – mark 2013-03-28 10:07:08

+0

是否可以在where條件中使用虛擬字段名稱來分開表格字段.. – lrajesh03 2013-03-28 10:17:59

+0

是的,這是可能的。 – mark 2013-03-28 10:31:40

回答

2

是的,你可以這樣做: 在你的模型

var $virtualFields = array(
    'payroll_date' => 'CONCAT(Payroll.year, " ", Payroll.month)' 
); 

和控制器

$staff_list = $this->Payroll->find("all", array(
    "fields" => array("Payroll.id", "Payroll.month", "Payroll.year"), 
    "conditions" => array('Payroll.payroll_date BETWEEN ? AND ?' => array('2013-02', '2013-03')) 
));