【问题标题】:How to load data of one model through another如何通过另一个模型加载一个模型的数据
【发布时间】:2016-09-20 15:06:52
【问题描述】:

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

【问题讨论】:

  • 所以,所有人都对我不屑一顾,但没有人给出任何争论

标签: php sql cakephp


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2013-06-12
    • 2013-12-11
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2014-04-02
    相关资源
    最近更新 更多