FuelPHP:从一组对象中选择有限数量的对象(基于属性)

时间:2013-11-05 20:12:47

标签: php fuelphp fuelphp-orm

我需要从$ data [“entries”]中选择3个最新的(10)条目,并将它们发送到小部件模块的条目控制器。我不知道如何以最高效的方式管理它。

以下是调用模块的控制器中的一些代码:

$data["entries"] = Model_Entry::find('all', array('limit' => 10, 'order_by' => 'created_at'));
$data["latest"] = Request::forge('widgets/entries/view/', false)->execute($data["entries");

$ data [“entries”]结构:

[1]=>
   object(Model_Entry)#31 (10) {
      ["_data":protected]=>
      array(9) {
         ["id"]=>
            string(1) "2"
         ["entry_title"]=>
            string(4) "test"
         ["entry_status"]=>
            string(1) "1"
         ["created_at"]=>
            string(1) "0"
         ["updated_at"]=>
            string(1) "0"
      }
   }
[2]=>
   object(Model_Entry)#32 (10) {
   }
...

参赛作品查看:

foreach($entries as $entry): 
   echo $entry->id;
endforeach;

是否也可以只选择这10个条目中entry_status为1的对象,以避免另一个查询?

1 个答案:

答案 0 :(得分:0)

以下代码应该执行您想要的操作:

$data["entries"] = Model_Entry::query()
    ->where('entry_status', 1)
    ->order_by('created_at')
    ->limit(10)
    ->get();