我想做一個簡單的cakephp關聯程序,但它不工作。 我有兩個數據庫表:users
和sec_datas
。當我運行這個程序時,它只顯示users
表的第一行的結果,而不是兩個表具有相同的sec_id
值的結果。Cakephp:協會不工作
控制器代碼:
<?php
class UsersController extends AppController
{
public function index()
{
$this->autoRender = FALSE;
$this->loadModel('User');
$storeDivisions = $this->User->find();
echo "<pre>";
print_r($storeDivisions);
echo "</pre>";
}
}
型號代碼:
<?php
class User extends AppModel {
public $useTable='users';
public $hasOne = array(
'Sec_data' => array(
'ClassName' => 'Sec_data',
'Conditions' => array('User.sec_id=Sec_data.sec_id'),
'Dependent' => false
)
);
}
?>
對於初學者來說,你的'hasOne'數組鍵應該是小寫字母。 –
這裏有很多錯誤/怪異/非常規。爲什麼模型類名稱中有一個下劃線?在模型別名中加入下劃線(關聯數組鍵)使得它基本上不可訪問。你不顯示執行的查詢 - 你是否要求'Sec_data'記錄但沒有找到?沒有包含或遞歸的信息 - 您是否根本不要求關聯記錄?User _actually_是您的模型類還是AppModel實例?總結:**它是否正常工作? – AD7six
你必須通過$ this-> User-> recursive = 2; $ storeDivisions = $ this-> User-> find(); –