加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

CakePHP – 递归模型中的特定字段?

发布时间:2020-12-13 22:00:34 所属栏目:PHP教程 来源:网络整理
导读:我是Cake PHP的新手,但我想我已经开始了解它.我试图递归地提取相关的表信息,但我想指定要递归的相关模型.让我举个例子来证明我的目标: 我有一个模型“客户”,其中包含公司名称,网站等信息.“客户”有许多“地址”,其中包含联系人姓名,街道,城市,州,国家等个
我是Cake PHP的新手,但我想我已经开始了解它.我试图递归地提取相关的表信息,但我想指定要递归的相关模型.让我举个例子来证明我的目标:

我有一个模型“客户”,其中包含公司名称,网站等信息.“客户”有许多“地址”,其中包含联系人姓名,街道,城市,州,国家等个人联系人的信息.“客户”也属于“CustomerType”,它只是具有描述性类别信息 – 名称和描述,如“分销商”或“制造商”.

当我对“客户”进行查找时,我希望将“CustomerType”和“Address”信息关联为子数组,只需正确设置hasMany和belongsTo关联即可.但现在,这是我的问题:我希望得到相关的州/国家信息.因此,不是每个“地址”数组行只有“state_id”,我希望它具有“state”=> array(“id”= 20,“name”=“纽约”,……)等

如果我在合作伙伴模型中将$recursive设置为更高的值(例如,2),我会得到我想要的每个“地址”中的州/国家/地区信息.但它也会对“CustomerType”进行递归,这导致我的“Partner”对象的“CustomerType”字段具有与该类型匹配的所有Customer对象的大量数组,这可能是数千条长.

所以关键是,我不想在“CustomerType”上递归,只在“地址”上.有没有办法可以设置它?

抱歉这个冗长的问题,并提前感谢!

解决方法

我建议你使用“可包含”的行为;
请参阅本书中有关蛋糕网站的更多帮助: http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读