2012-08-02 57 views
1

我目前正在使用Kohana 3.2的项目。 我还没有使用框架,所以虽然我已经使用了Symfony2很长一段时间,但我还是一个“初学者”。Kohana 3.2重用模型插入数据

比方说,我有一个“任务”。这个“任务”可以同时分配给多个“用户”。 这是通过使用不同的user_id输入相同的“任务”来实现的。所以我认为通过简单地改变列的数据然后调用$task->create()来重新使用模型应该不成问题。

出于某种原因,这是不工作的权利和代码返回:
Kohana_Exception [ 0 ]: Cannot create task model because it is already loaded.

我当前的代码是:

Model: 
class Model_Task extends ORM{ 
    protected $_table_name = 'task'; 
    protected $_primary_key = 'task_id'; 
} 

Code: 
$task = ORM::factory('task'); 
$task->task = "some random task you need to finish."; 
foreach($users as $user){ 
    $task->user_id=$user; 
    $task->create(); 
} 

难道我做错了什么,或者你根本无法重用Kohana模型?

回答

1

您正在为所有用户使用相同的任务对象,因此在第一次迭代任务将在调用create方法后加载。将您的代码更改为:

foreach($users as $user) 
{ 
    $task = ORM::factory('task'); 
    $task->user_id = $user; 
    $task->create(); 
} 
+0

我想这可能是问题,但我想确定。谢谢 :) – tftd 2012-08-02 10:47:35