繁体   English   中英

如何通过另一个模型加载一个模型的数据

[英]How to load data of one model through another

我在 CakePhp 中加载数据时遇到问题。 我有客户、客户类型和账单模型。 Customertypes 与有HABTM 关系的Customers 相关,但与Bills 模型无关。 所以我接下来的问题是:我如何只加载属于客户的账单,这些账单属于特定的客户类型,这意味着我需要从特定的客户类型加载客户的账单。 我如何使用查询加载它? 我需要“加入”吗?

您不需要在模型或数据库级别使用显式连接。 我假设您的“客户”模型“hasMany”“Bills”,“Bills”模型“belongsTo”“Customer”? 如果是这样,那么您应该能够在 Bills 控制器中设置一个 $conditions 数组(随后将其传递给 paginate() 函数),其中包含如下所示的散列/值:

$conditions["Customer.customer_type_id"] = $someCustomerTypeId;

显然,如果 $someCustomerTypeId 需要是一个动态值,那么您还有更多工作要做——您可能需要创建一个“搜索”表单,该表单返回包含搜索条件的 $this->request->data,然后您可以使用它来调用“索引”功能。

抱歉,这有点含糊。 如果您像您所说的那样,在客户和客户类型之间存在 HABTM 关系,而不是一对多关系,则情况可能会更加复杂。 但希望这可能会有所帮助。 祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM