我需要通过查询检索产品可用性。我使用的 CMS 是 MODX。
我的数据库是这样的:
相机
中型
sku
_
RENTALS
cid
mid(这对应于上面的中间)
start_date
end_date
我的查询是根据是否“租用”来定位相机的可用性。
用户选择他/她的开始和结束日期,选择“定位相机”,mysql 查询如下所示:
$a = $modx->newQuery('Cameras');
$a->leftJoin('Rentals','Rentals',array('Rentals.mid = Cameras.mid'));
$a->select(array('Rentals.start_date' <= $start_date(POST data from previous page)));
$a->select(array('Rentals.end_date' >= $end_date(POST data from previous page)));
$a->select(array('Cameras.*','Rentals.cid as customerid','Rentals.start_date as start'));
$availability = $modx->getCollection('Cameras',$a);
$ret = '<p>There are '. count($availability) . ' cameras available</p>';
我在数据库中添加了 5 个摄像头进行测试,并添加了一个作为租用的,但是查询继续返回“有 5 个摄像头可用”。它没有拿起“预订”的相机。