我已经读过关于对流的内容,我的应用程序/数据库是直接的。
我也读过$ hasOne,$ hasMany,$ belongsTo等等
但是,我面临一个我无法为自己解决的问题/问题。
我的模特:汽车,赛事,加油,维修 我的控制器:CarsController
我的关系:
class Car extends AppModel {
public $BelongsTo = array('User');
public $hasMany = array('Event');
}
class Event extends AppModel {
public $BelongsTo = array('Car');
public $hasOne = array('Refuel');
}
class Refuel extends AppModel {
public $BelongsTo = array('Event');
}
从CarsController发送的find()的输出
array(
'Car' => array(
'id' => '1',
'user_id' => '1',
'make' => 'Make',
'model' => 'Model',
),
'Event' => array(
(int) 0 => array(
'id' => '1',
'car_id' => '1',
'dateEvent' => '20-10-2014',
'description' => '1'
),
(int) 1 => array(
'id' => '2',
'car_id' => '1',
'dateEvent' => '20-10-2014',
'description' => '2'
),
(int) 2 => array(
'id' => '3',
'car_id' => '1',
'dateEvent' => '20-10-2014',
'description' => '3'
)
)
)
你需要知道这一点:
汽车属于用户。用户可能有很多车
汽车有很多活动。一个活动只有一辆车。
每个事件应该与一个加油或一个维修相关联。加油或维修不能关联多个事件。
表格
用户:id
cars:id,user_id
事件:id,car_id
加油:id,event_id(唯一)
修理:id,event_id(唯一)
答案 0 :(得分:0)
你错过了
class User extends AppModel {
public $hasMany = array('Car');
}
答案 1 :(得分:-1)
我发现数组('递归' => 2)解决了这个问题!
但是这是什么以及为什么?