我試圖使用飛行關聯來修剪我檢索的數據,但是我使用的模型與其他模型相關聯的重命名字段,因爲我有2個與它相關的相同模型。CakePhp:使用重新命名的模型字段實時關聯?
所以,這裏是模型,說'測試',有兩個'用戶'字段,都與用戶模型有關。
在模型:
var $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id'
),
'User_Watched' => array(
'className' => 'User',
'foreignKey' => 'user_id_watched'
)
);
當我取回與「測試」的數據,我只想找回鏈接到「用戶」和「User_Watched」域,但沒有任何其他嵌套的信息特定數據。
但是當我做:
$this->User->unbindModel(array('hasMany' => array('something1', 'something2')), false);
然後something1和something2數據沒有顯示出來的模型「測試」的「用戶」的領域,但對於「User_watched」領域還在檢索。
我能否爲'User_watched'字段檢索不需要的數據?
希望這是有道理... :)
謝謝,本傑明。爲什麼它必須以'id'結尾? 'Test'模型中的實際字段是'user_id_watched'。 我確實使用'連接'來解決這個問題。 – KcYxA 2010-08-12 21:13:36
Hello KcYxA, Cakephp使用'Convention over Configuration'方法,這意味着如果開發人員堅持一些約定,則交換cakephp會減少所需的配置數量。 在這種情況下,'user_id_watched'充當FK。 cakephp中的FK應該遵循約定,所以表中的字段名應該是'user_watched_id'。那麼當然所有舊名稱的出現都必須相應地改變。 如果這對你有用,請讓我知道,以便我可以在上面的答案中解釋此評論。親愛的,本傑明。 – benjamin 2010-08-12 23:23:25