【发布时间】:2013-09-21 20:49:06
【问题描述】:
花了几个小时为以下问题找到解决方案后,我希望您能帮助我。
我有两张桌子:
Event hasmany Appointments and Appointment belongsto Event
现在我在我的EventsController 中表演:
$this->Event->find('all')
现在我想按预约订购活动。使最早约会的事件在数组中排在第一位,依此类推。我尝试了很多方法,包括 Containable、Join、Grouping、Subselects,但没有任何效果。
在$this->Event->Appointment 上执行 find('all') 并不是一个解决方案,因为我希望每个 Event 都只是一个。
编辑#1: 到目前为止,我唯一的解决方案是 $events = $this->Event->find('all', array( '加入' => 数组( 大批( 'table' => '(SELECT event_id, MIN(start) 从约会开始 GROUP BY event_id)', '别名' => '约会', '类型' => '左', '条件' => 数组( 'Event.id = Appointment.event_id' ) ) ), '订单' => 数组( 'Appointment.start ASC' ) ));
但这不是最好的解决方案!
【问题讨论】:
标签: group-by sql-order-by left-join cakephp-2.3