我对 CakePHP 很陌生,但我想我已经开始掌握它了。我正在尝试以递归方式提取相关表信息,但我想指定要递归的相关模型。让我举一个例子来证明我的目标:
我有一个模型“客户”,其中包含公司名称、网站等信息。“客户”有许多“地址”,其中包含个人联系人的信息,如联系人姓名、街道、城市、州、国家等。“客户”也属于“CustomerType”,它只是具有描述性类别信息 - 名称和描述,如“分销商”或“制造商”。
当我在“客户”上进行查找时,我想将关联的“客户类型”和“地址”信息作为子数组获取,只需正确设置 hasMany 和 belongsTo 关联就可以正常工作。但现在,这是我的问题:我想获得相关的州/国家信息。所以,不是每个“地址”数组行都只有“state_id”,我希望它有“state”=>array(“id”=20,“name”=“New York”,...)等。
如果我在合作伙伴模型中将 $recursive 设置为更高的值(例如,2),我会得到我想要的每个“地址”中的州/国家信息。但它也会在“CustomerType”上递归,这导致我的“Partner”对象的“CustomerType”字段具有大量与该类型匹配的所有客户对象,可能长达数千。
所以重点是,我不想在“CustomerType”上递归,只在“Address”上递归。有什么办法可以设置吗?
抱歉这个冗长的问题,提前谢谢!