2012-08-02 4 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

관련 문제