假设我有2张桌子。
一个是地板,另一个是商店。
内层地板: id,floor_name
店内餐桌: id,name,floor_id。
同时,协会是: 一层有很多商店,一个商店有一层。
好的,问题是..如何直接获取floor_name数据,而我只能在我的视图中获取floor_id?
示例:我将所有店铺数据显示为
$shop['Shop']['name'], $shop['Shop']['floor_id']
,
在我的/shops/main
我希望$shop['Shop']['floor_id']
字段显示$floor['Floor']['floor_name']
数据?可能?
答案 0 :(得分:4)
甘榜,
您在表格中应该有下面提到的关联:
楼层有很多商店 商店所属楼层
现在,在您的控制器中,当您获取有关商店的数据时,您将自动获得楼层数据。
$ shops = $ this-> Shop-> read(null,$ id);
现在$ shops将包含两个数组 [ '店铺'] =>阵列(.......) [ '楼层'] =>阵列(........)
所以现在要显示楼层名称,你需要使用$ shop ['Floor'] ['floor_name']而不是$ floor ['Floor'] ['floor_name']
答案 1 :(得分:1)
在Shop模型中定义hasMany
楼层关系。在您的地板模型中,定义与商店的belongsTo
关系。这将允许检索您的相关数据。
通过$this->Shop->find('first', $arg)
检索数据时,$arg
是您的搜索选项数组,请定义以下内容
$arg['contains'] = array('Floor.name');
现在,你应该得到你想要的东西。