1
我有以下模型與他們之間的以下關係(我剛剛發佈有關他們的相關信息)。奇怪的數據結構返回查找查詢
Persona.php
public $hasMany = array(
'PersonaHasLdaphost' => array(
'className' => 'PersonaHasLdaphost',
'foreignKey' => 'persona_id'
)
);
Ldaphost.php
public $hasMany = array(
'PersonaHasLdaphost' => array(
'className' => 'PersonaHasLdaphost',
'foreignKey' => '__ldaphosts_id',
'dependent' => false
)
);
PersonaHasLdaphost.php
public $belongsTo = array(
'Persona' => array(
'className' => 'Persona',
'foreignKey' => 'persona_id',
),
'Ldaphost' => array(
'className' => 'Ldaphost',
'foreignKey' => '__ldaphosts_id',
)
);
我還有其他的型號,甚至假面本身,與這種關係只是工作精細。
但與那些親人,當我查詢與查找數據庫:
$this->Persona->Behaviors->load('Containable');
$options = array('conditions' => array('Persona.' . $this->Persona->primaryKey => $id),
'contain' => array(
'Personaacceso',
'Personainterna',
'PersonaHasLdaphost' => array('Ldaphost')),
'recursive'=>1);
$persona = $this->Persona->find('first', $options);
我得到這個奇怪的輸出繼電器:
["PersonaHasLdaphost"]=> array(2) {
[0]=> array(4) {
["id"]=> string(3) "154"
["persona_id"]=> string(3) "315"
["Ldaphost"]=> array(0) {}
["PersonaHasLdaphost"]=> array(1) {
[0]=> array(1) {
["__ldaphosts_id"]=> string(2) "41"
}
}
}
[1]=> array(4) {
["id"]=> string(3) "174"
["persona_id"]=> string(3) "315"
["Ldaphost"]=> array(0) {}
["PersonaHasLdaphost"]=> array(1) {
[0]=> array(1) {
["__ldaphosts_id"]=> string(3) "120"
}
}
}
}
當它應該是這樣的:
["PersonaHasLdaphost"]=> array(2) {
[0]=> array(4) {
["id"]=> string(3) "154"
["persona_id"]=> string(3) "315"
["__ldaphosts_id"]=> string(2) "41"
["Ldaphost"]=> array(0) {}
}
...
當然,在「Ldaphost」中有數據,因爲這些ID在ldaphost表中有一個條目。
所以任何人都可以給我一個提示,爲什麼會發生這種情況?我看不出爲什麼這個人比其他人有不同的結果。