为这个头衔而烦恼,但我不知道如何以简短的形式解释我的问题。
我有很多面包店都有很多烤箱。现在我想找一家未使用烤箱的面包店。有没有办法,我的陈述应该如何? 烤箱有时间使烤箱不寻常。即我把一些面包放入烤箱使这个烤箱不能使用2小时。用户可以“租”烤箱。这个烤箱在“使用中”一段时间,保存在面包店的桌子上。在面包店表中也保存了烤箱的数量。在烤箱桌上都是租来的烤箱,即将到来的,跑步的和旧的活动。现在我想找到在特殊时间有免费烤箱的面包店,并希望创建一个类似的条件:查找所有面包店(在其中计算烤箱的位置(烤箱在时间是空的或(烤箱在租用时间为空时+“在使用中” - 时间))< = count_all_ovens_in_bakery
我创建了一个声明,其中找到了开放时间和烤箱大小,但我不知道如何使用免费烤箱创建此声明
我有一个可怕的英语...... 希望你能帮助我微米。
答案 0 :(得分:2)
在不了解这些表的架构的情况下,这在黑暗中是一种刺痛。还取决于您如何设置模型关联。假设面包店HasMany烤箱和烤箱BelongsTo面包店。并假设已在模型上设置了包含行为。
查找所有面包店(在其中计算烤箱的位置(烤箱在时间是空的或(烤箱在租用时间为空时+“在使用中” - 时间))< = count_all_ovens_in_bakery
$freeOvens = $this->Oven->find('all', array(
'fields' => array(
'COUNT(Bakery.id) AS NUM_BAKERIES',
'COUNT(Oven.id) AS NUM_OVENS',
// Any other fields you want included
),
'conditions' => array(
'OR' => array(
// Oven is empty at time,
// Oven is empty at (rent-time + in-use-time)
)
),
'recursive' => 2,
'contain' => array(
'Bakery'
),
'group' => array('Bakery.id'),
'order' => array('Bakery.name', 'NUM_OVENS DESC')
));