如何正确使用模型CRUD?

时间:2017-08-09 10:10:50

标签: php mysql fuelphp

我有一个数据库表images,第二个objectsimages表格中包含与object_idobjects字段相关的id主键。

现在在POST之后我按照发布的ID选择图像,循环结果并按主键选择适当的对象:

// 1 query
$images = Model_Image::find(array('where' => array('approved' => 0, array('object_id', 'in', Input::post('objects'))));

foreach($images as $image)
{
    // now get it's object
    // 2 queries
    $obj = Model_Object::find_by_pk($image->object_id);
    $obj->image = 1;
    // 3 queries
    $obj->save();
}

问题是,我想知道,我应该如何正确地解决这个问题 - 我认为使用CRUD并不总是一个好主意,可能会影响性能,即使它看起来很漂亮并且使用它感觉很好。但牺牲性能真的值得吗?可以说,我们有10个图像需要编辑,因此可以生成 11个查询来执行简单的操作。

我的意思是,我可以简单地使用以下查询来完成所有操作......

UPDATE `objects` SET `image` = 1
LEFT JOIN `images` ON(`image`.`object_id` = `object.id`)
WHERE `images`.`approved` = 0 AND `images`.`id` IN ([post ids]);

在这种情况下仍然值得使用CRUD吗?

0 个答案:

没有答案