0
我有模型「案例」和「文檔」。他們與很多人有關係。 在同樣的情況下,'客戶'和'文件'。 我正在使用kohana 2.xKohana 2:數據庫錯誤,它不應該是
我有兩種方法。 在控制器「案例」:
public function documents($case_id) {
$case = ORM::factory('case', $case_id);
$documents = $case->documents;
$this->template->view = View::factory('panel/documents/list')
->set('documents', $documents);
}
而且在控制器的客戶:
public function documents($customer_id) {
$customer = ORM::factory('customer', $customer_id);
$documents = $customer->documents;
$this->template->view = View::factory('panel/documents/list')
->set('documents', $documents);
}
當我運行第一種方法一切正常,但是當我運行第二個方法,我得到錯誤:
Unknown column 'cases_documents.cas_id' in 'where clause' - SELECT `document_id` AS `id` FROM (`cases_documents`) WHERE `cases_documents`.`cas_id` = 1
錯誤是在371線CMS /系統/庫/驅動程序/數據庫的/ Mysql.php
我不明白爲什麼Kohana中調用SQL查詢與
cases_documents`.`cas_id` = 1
,而不是
`cases_documents`.`case_id` = 1
我的情況下模型是這樣的:
class Case_Model extends ORM {
protected $belongs_to = array('customer', 'user', 'liquidator' => 'user');
protected $has_many = array('users');
protected $has_and_belongs_to_many = array('documents');
protected $table_name = 'cases';
public $formo_ignores = array('id', 'user_id', 'closed');
public $formo_defaults = array(
'liquidator_id' => array(
'type' => 'select'
),
'type' => array(
'type' => 'select'
),
'policytype' => array(
'type' => 'select'
),
'reported' => array(
'type' => 'select'
),
'sufferer' => array(
'type' => 'select'
),
);
}
}
我的客戶模型是這樣的:
class Customer_Model extends ORM {
protected $has_many = array('users');
protected $has_and_belongs_to_many = array('documents', 'cases');
protected $has_one = array('parent');
public $formo_ignores = array('id', 'parent_id');
}
And Docu模型:
class Document_Model extends ORM {
protected $has_and_belongs_to_many = array('groups', 'cases', 'customers');
public $formo_ignores = array('id', 'name');
}
請幫助我做錯了什麼,或者我該怎麼做才能使這段代碼有效。
嘗試在模型中添加'protected $ _table_names_plural = FALSE'。 –