【问题标题】:Kohana 3.2 reuse model to insert dataKohana 3.2 复用模型插入数据
【发布时间】:2012-08-02 00:56:11
【问题描述】:

我目前正在开发一个使用 Kohana 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();
}

是我做错了什么,还是您根本无法在 Kohana 中重用模型?

【问题讨论】:

    标签: php model-view-controller kohana


    【解决方案1】:

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

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

    【讨论】:

    • 我认为这可能是问题所在,但我想确定一下。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多