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

时间:2016-09-20 15:06:52

标签: php sql cakephp

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

1 个答案:

答案 0 :(得分:0)

您不需要在Model或数据库级别使用显式连接。我假设你的“客户”模型“有很多”“票据”,而“票据”模型“属于”“客户”?如果是这样,那么你应该能够在Bills控制器中设置一个$ conditions数组(你随后传递给paginate()函数),其中包含一个类似这样的散列/值:

$ conditions [“Customer.customer_type_id”] = $ someCustomerTypeId;

显然,如果$ someCustomerTypeId需要是动态值,那么您还有更多工作要做 - 您可能需要创建一个“搜索”表单,该表单返回包含搜索标准的$ this-> request->数据,然后用来调用“索引”函数。

抱歉这有点模糊。正如您所说,如果您拥有HABTM关系,而不是客户和客户类型之间的一对多关系,则可能会更复杂。但希望可能会有所帮助。祝你好运!