我有模型'案例'和'文档'。它们与许多人有很多关系。 在同样的情况下是'客户'和'文件'。 我正在使用kohana 2.x
我有两种方法。 在控制器'案例'中:
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 / system / libraries / drivers / Database / 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');
}
文档模型:
class Document_Model extends ORM {
protected $has_and_belongs_to_many = array('groups', 'cases', 'customers');
public $formo_ignores = array('id', 'name');
}
请帮助我,我做错了什么或者我应该做些什么来使这段代码有用。
答案 0 :(得分:0)
我已经知道出了什么问题。
为避免此错误,我只需通过添加行来更改inflector配置文件:
'case' => 'cases'
得到这样的数组:
$config['irregular'] = array
(
'child' => 'children',
'clothes' => 'clothing',
'man' => 'men',
'movie' => 'movies',
'person' => 'people',
'woman' => 'women',
'mouse' => 'mice',
'goose' => 'geese',
'ox' => 'oxen',
'leaf' => 'leaves',
'course' => 'courses',
'size' => 'sizes',
'case' => 'cases'
);
我希望它可以帮助有同样问题的人。