簡體   English   中英

CakePHP-HABTM多個記錄到同一模型

[英]CakePHP - HABTM Multiple Records to Same Model

我正在嘗試使用CakePHP中的HABTM關聯將同一模型中的多個記錄連接到另一模型中的一個記錄。

我嘗試關聯的模型是用戶和下注。 用戶模型是相當標准的,困難的是下注模型。 投注記錄除其他外,還有一個ID,以及一列user_1_id和user_2_id。 每個投注都有兩名參與者。

最初,我認為在用戶表中使用簡單的hasMany關聯以及將查找器查詢作為我有兩個外鍵的方式,將這兩個存儲在賭注表的同一記錄中會很好:

public $hasMany = array(
    'Bet' => array(
        'className' => 'Bet',
        'foreign_key' => false,
        'finderQuery' => 'SELECT *
                            FROM `bets` as `Bet`
                            WHERE `Bet`.`user_1_id` IN ({$__cakeID__$})
                            OR `Bet`.`user_2_id` IN ({$__cakeID__$})',
    ),

但是,就像我說的那樣,我遇到了一些困難,並且看起來好像這種關系僅在一個方向上起作用(即,當我處理單個投注時,我可以查看用戶詳細信息,但是當與用戶一起使用時,我不能與投注詳細信息相關聯) 。

因此,現在我相信我需要一個帶有聯接表的HABTM關系,我不確定是如何使它在內部存儲同一模型的多個記錄以及另一個模型的記錄的工作。鏈接表。

這使我的頭部受傷,因此,任何外界的看法或建議確實會很有幫助,謝謝!

我設法自己解決了這個問題。 看來我的協會全錯了。 我在蛋糕書中偶然發現了這一點: http : //book.cakephp.org/2.0/en/models/associations-linking-models-together.html#multiple-relations-to-the-same-model

不知道我是如何早早意識到這一點的,因為我在應用程序的其他位置使用了完全相同的關聯來處理關注者系統。 關鍵是對模型使用別名,如指南中詳細說明的那樣。

希望這會在將來對其他人有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM