Kohana 3-将模型保存到DB中,关系为belongs_to



我有一个简单的问题,但我在任何地方都找不到答案——无论是在文档中还是在这个论坛中。

简而言之,我在Kohana有两个模型3-任务和任务类型。我想创建一个Task模型,这样我就可以引用字段$Task->Task_type_id->name。

不幸的是,当您将一条记录插入数据库时,我得到的答案是:"常规错误:1364字段'task_type_id'没有默认值">

当我将task_type_id字段添加为普通字段(在$_table_columns中(时,我无法通过$task->task_type_id->name引用视图中的TaskType对象。

我不知道如何配置模型以保存与数据库的关系,并能够在视图中引用它。

请帮忙。

我的型号代码:

class Model_Task extends ORM
{
protected $_table_name  = 'task';
protected $_table_columns = array(
'id'=>array('data_type'=>'int','is_nullable'=>false),
'date' => array('data_type'=>'date','is_nullable'=>
'description'=>array('data_type'=>'varchar','is_nullable'=>true)
);
protected $_belongs_to = array(
'task_type_id' => array(
'model'       => 'TaskType',
'foreign_key' => 'id'
)
);
}
class Model_TaskType extends ORM
{
protected $_table_name  = 'task_type';
protected $_table_columns = array(
'id'=>array('data_type'=>'int','is_nullable'=>false),
'name' => array('data_type'=>'string','is_nullable'=>false)
);
}

可能应该是:

class Model_Task extends ORM
{
protected $_table_name  = 'task';
protected $_table_columns = array(
'id'=>array('data_type'=>'int','is_nullable'=>false),
'date' => array('data_type'=>'date','is_nullable'=>
'description'=>array('data_type'=>'varchar','is_nullable'=>true),
'task_type_id' => array('data_type'=>'int','is_nullable'=>false),
);
protected $_belongs_to = array(
'task_type' => array(
'model'       => 'TaskType',
'foreign_key' => 'id'
)
);
}
class Model_TaskType extends ORM
{
protected $_table_name  = 'task_type';
protected $_table_columns = array(
'id'=>array('data_type'=>'int','is_nullable'=>false),
'name' => array('data_type'=>'string','is_nullable'=>false)
);
}

并通过$task->add('task_type', $task_type);添加

最新更新