1

私は現在、コハナ3.2を使用するプロジェクトに取り組んでいます。私はフレームワークを使ったことがないので、かなり長い間Symfony2を使っていますが、私は一種の「初心者」です。

「タスク」があるとしましょう。この「タスク」は、同時に複数の「ユーザー」に割り当てることができます。これは、異なる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();
}

私は何か間違ったことをしているのですか、それとも単にコハナでモデルを再利用できないのですか?

4

1 に答える 1

1

すべてのユーザーに同じタスクオブジェクトを使用しているため、最初の反復後に、createメソッドを呼び出した後にタスクがロードされます。コードを次のように変更します。

foreach($users as $user)
{
    $task = ORM::factory('task');
    $task->user_id = $user;
    $task->create();
}
于 2012-08-02T06:31:48.600 に答える