我一直在我的頭撞牆,一個非常惱人的問題。我有兩個模型類::模型遞歸失敗
class User extends AppModel {
var $name = 'User';
var $hasMany = array(
'Application' => array(
'className' => 'Application',
'foreignKey' => 'user_id',
'dependent' => false,
)
);
}
class Application extends AppModel {
var $name = 'Application';
var $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
)
);
}
我想拉應用程序和與它關聯的用戶的字段。
$this->Applications->find();
不管我怎麼設置$遞歸來,它仍然給了我只有一個輸出:
Array
(
[Applications] => Array
(
[id] => 1
[user_id] => 3
[datecreated] =>
[status] =>
[source] => 1
)
)
在另一方面,當我拉的數據從用戶表遞歸設置爲2,我將所有用戶及其應用程序與與應用程序關聯的用戶數據與與用戶關聯的應用程序相關聯。說得簡單明瞭,這裏就是我得到:
Array
(
[0] => Array
(
[User] => Array
(
[id] => 3
[email] => [email protected]
[password] => hashstring
[socialsecurityno] => 21232134123
[role_id] => 3
[firstname] => Firstname
[lastname] => Lastname
[status] => 1
)
[Application] => Array
(
[0] => Array
(
[id] => 1
[user_id] => 3
[datecreated] =>
[status] =>
[source] => 1
[User] => Array
(
[id] => 3
[email] => [email protected]
[password] => hashstring
[socialsecurityno] => 21232134123
[role_id] => 3
[firstname] => Firstname
[lastname] => Lastname
[status] => 1
[Application] => Array
(
[0] => Array
(
[id] => 1
[user_id] => 3
[datecreated] =>
[status] =>
[source] => 1
)
)
)
)
)
)
)
我想要什麼,是從應用程序,其相關的用戶信息獲取,這就是它。我幾乎沒有想到在應用程序和用戶之間創建habtm關係,這在技術上是不正確的,因爲一個用戶可以有很多應用程序,但一個應用程序只有一個用戶。
現在,應用程序通過應用程序表中的user_id與用戶連接,這應該是顯而易見的,但無論如何應該注意。
任何形式的幫助可以被讚賞,我真的沒有想法。
問題不在於檢索多個應用程序,我完全意識到find需要一個參數來獲取多個應用程序。數據庫中只有一個應用程序用於測試目的。麻煩是檢索相關的模型。然而,我會盡全力解決我可能做錯的每一種情況,看看我能否找到任何東西。 – NeroS 2010-11-25 07:14:34