0

假设我有 2 张桌子。

一个是楼层,另一个是商店。

内层表:id, floor_name

店内表:id、name、floor_id。

同时,联想是:一层有很多店铺,一层有一层。

好的,问题是..

当我只能在我的视图中获取 floor_id 时,如何直接获取 floor_name 数据?

示例:我将所有商店数据显示为
$shop['Shop']['name'], $shop['Shop']['floor_id'],在我的/shops/main

我希望$shop['Shop']['floor_id']字段显示$floor['Floor']['floor_name']数据?可能的 ?

4

2 回答 2

4

甘榜,

您应该在表中具有以下提到的关联:

楼层有很多店铺店铺属于楼层

现在在您的控制器中,当您将获取有关您的商店的数据时,您将自动获取楼层数据。

$shops=$this->Shop->read(null, $id);

现在 $shops 将包含两个数组 ['Shop']=>array(........) ['Floor']=>array(........)

所以现在要显示楼层名称,您需要使用 $shop['Floor']['floor_name'] 而不是 $floor['Floor']['floor_name']

于 2013-05-14T14:38:01.950 回答
1

在 Shop 模型中定义hasMany楼层关系。在您的楼层模型中,定义belongsTo与 Shop 的关系。这将允许检索您的关联数据。

通过 检索数据时$this->Shop->find('first', $arg)$arg您的搜索选项数组在哪里,请定义以下内容

$arg['contains'] = array('Floor.name');

现在,你应该得到你想要的。

于 2013-05-14T14:46:45.527 回答