我從條件數據庫中獲取費率信息列表。不過,如果日期範圍中包含日期,並且rateID形成另一個稱爲「最短停留時間」的表,我希望添加另一個最小逗留條件。費率表已經有一個分鐘的停留時間,但是在某些日期,如果日期在我通過的日期範圍內,我想要超過這個時間。cakephp檢查多個表
我是cakephp的新手,所以我不確定如何檢查日期範圍中日期的minStay表。然後獲得最大的minStay並將其添加到條件。
默認minStay在費率表是1
這裏是在minStay表中的數據:
日期:2011-10-31 rateID:21 minStay:2 日期:2011年1月11日rateID :21分鐘3:
結果:如果日期範圍是31-10-2011至2-11-2011/2晚,則無結果。如果3晚或以上,那麼結果。
我希望我能正確解釋。
包含日期範圍變量爲$今天
$conditions = array(
'Rate.enabled'=>1,'Rate.is_corporate'=>$is_corporate, 'Rate.minimum_stay <='=>$days,
'Rate.valid_from < '=>$date_start,'Rate.valid_to >'=>$date_end,
'OR'=>array('Rate.maximum_stay'=>0,'Rate.maximum_stay >='=>$days)
);
$order = 'Rate.list_no';
$this->Rate->contain('Room.id','Room.title','Room.max_adults','Room.max_children');
$rates = $this->Rate->find('all',array('conditions'=>$conditions,'order'=>$order));
您應該使用字段選項而不是包含來選擇所需的字段,如果關聯存在,也可以使用包含使用其他模型。如果沒有任何聯繫,你可以在飛行中或做一個部隊加入。你能發佈你想要添加的確切條件嗎?使用cakephp風格,如Model.something = Model2.somethingElse – api55
我有模型中的關聯。我正在爲條件而努力。我想從Rate表中獲取記錄,並在最小逗留時間內將一個名爲minStay的新表更改爲上述內容。例如('Rate.minimum_stay <='=> $ days OR array('minStay.date BETWEEN?AND?'=> array($ date_start,$ date_end))和minStay.minimum_stay < => $ days –