我正在尝试建立一个网站,该网站控制出租物业组合。网站所有者可以为物业创建一个列表。该物业每晚有默认价格,但还包括设置特价的能力,例如8月。MySQL查询加入
网站用户可以进入网站并输入日期范围并搜索该时间段内可用的列表。我还需要在这个阶段看看是否有特殊的价格来取代默认价格。
所以表我已经是:
listings
id
default_price
etc...
bookings
id
listing_id
checkin
checkout
special_prices
id
listing_id
from
to
price
但我很没用的SQL查询和我想不通查询会是什么样子,其过程中输入的时间内没有预订房源并且如果存在special_price的话。
我使用cakephp如果这使查询更容易建立。谁能帮我吗?
编辑 嗨,我仍然试图在一分钟我只是集中精力越来越不具有与所请求的日期相冲突的预订清单算出这个,我会整理一下之后
特殊价格的东西。在分钟我就要:
$conditions = array(
"AND" => array(
"OR" => array(
"Listing.address_one LIKE" => "%".$area."%",
"Listing.address_two LIKE" => "%".$area."%",
"Listing.city LIKE" => "%".$area."%",
"Listing.postcode LIKE" => "%".$area."%",
"Listing.title LIKE" => "%".$area."%",
),
)
);
$this->Listing->bindModel(array('hasMany' => array('Booking' => array('conditions' =>array('Booking.checkin BETWEEN ? AND ?' => array($to, $from))))));
$data = $this->paginate('Listing', $conditions);
$this->set('data', $data);
这得到匹配在清单中的cols $面积关键字,所有的结果,但似乎完全忽略登记表。我已经尝试过不用间隔,看看它是否有所作为,它仍然只是返回任何匹配的$面积,并且看起来忽略了所请求的日期之间的预订。
任何任何想法?
您是否正在尝试为此创建存储过程? – Novice