0
我仍在使用蛋糕2.5.3,但我無法找到更新中的任何相關內容。我的問題是,這些屬於與另一個模型中的vitualfields碰撞。
首先我爲項目的模式:
class Project extends AppModel {
public $belongsTo = array(
'Responsibleperson' => array(
'className' => 'User',
'foreignKey' => 'responsibleperson_id'
),
'Creator' => array(
'className' => 'User',
'foreignKey' => 'creator_id'
),
);
}
負責人及qho創建的項目可能不同的人,但他們都是用戶。
這工作正常。真。
Lateron我的用戶模型中添加以下內容:
public $virtualFields = array(
'fullname' => 'CONCAT(User.prename, " ", User.name)'
);
現在幾乎所有的$這個 - >項目 - >找到()控制器調用失敗
Column not found: 1054 Unknown column 'User.vorname' in 'field list'
當你看mysql-query,你會發現查詢沒有接管已更改的型號名稱,並且仍然對用戶進行了嚴格的限制...
SELECT
`Project`.`id`,
`Project`.`projectname`,
`Project`.`responsibleperson_id`,
`Project`.`creator_id`,
`Responsibleperson`.`id`,
`Responsibleperson`.`username`,
`Responsibleperson`.`prename`,
`Responsibleperson`.`name`,
(CONCAT(`User`.`prename`, " ", `User`.`name`)) AS `Responsibleperson__fullname`,
`Creator`.`id`,
`Creator`.`username`,
`Creator`.`prename`,
`Creator`.`name`,
(CONCAT(`User`.`prename`, " ", `User`.`name`)) AS `Creator__fullname`
FROM
`database`.`projects` AS `Project`
LEFT JOIN
`database`.`users` AS `Responsibleperson`
ON
(`Project`.`responsibleperson_id` = `Responsibleperson`.`id`)
LEFT JOIN
`swdevel`.`plantbook_users` AS `Creator`
ON
(`Project`.`creator_id` = `Creator`.`id`)
WHERE
(`Project`.`projektname` LIKE '%Searchsometing%')
讓虛擬領域的「用戶」離開,只寫CONCAT(預先命名,「」,名稱),會讓它變得非常棒。我如何教導蛋糕改變虛擬領域的模型名稱?
是否有任何解決方案,除了使數據庫中的視圖有一個「第二」模型?
非常感謝您的幫助。