FuelPHP: выберите ограниченное количество объектов из массива объектов (на основе свойств)

Мне нужно выбрать 3 из последних (10) записей из $data["entries"] и отправить их в контроллер записей модуля виджетов. Я понятия не имею, как управлять этим наиболее эффективным способом.

Вот код контроллера, который вызывает модуль:

$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;

Можно ли также выбрать только объекты с entry_status 1 из этих 10 записей, чтобы избежать повторного запроса?


person estrar    schedule 05.11.2013    source источник


Ответы (1)


Следующий код должен делать то, что вы хотите:

$data["entries"] = Model_Entry::query()
    ->where('entry_status', 1)
    ->order_by('created_at')
    ->limit(10)
    ->get();
person Quetzy Garcia    schedule 10.11.2013
comment
Благодарю вас! Я также хорошо прочитал документацию. - person estrar; 11.11.2013