Beispiel #1
0
 public static function get_paginated_list($name, $page, $results_per_page, $deep = false, $where = array(), $order_by = null, $order_by_dir = 'ASC', $limit_offset = null, $limit = null)
 {
     $num_results = Bamboo::get_count($name, $where);
     $first_result = ($page - 1) * $results_per_page;
     if ($first_result >= $num_results) {
         throw new Bamboo_Exception('Can\'t go to a non-existent page');
     }
     return array('num_results' => $num_results, 'num_pages' => ceil($num_results / $results_per_page), 'current_page' => $page, 'first_result' => $first_result + 1, 'last_result' => min(array($num_results, $first_result + $results_per_page)), 'results' => Bamboo::get_list($name, $deep, $where, $order_by, $order_by_dir, $first_result, $results_per_page));
 }
Beispiel #2
0
 public function input($name, array $attr = NULL)
 {
     // TODO: cache?
     $relatedItems = Bamboo::get_list($this->model);
     $options = array();
     foreach ($relatedItems as $relatedItem) {
         $options[$relatedItem->{$relatedItem->__id_field}->raw()] = $relatedItem->{$relatedItem->__name_field}->raw();
     }
     return Form::select($name, $options, $this->value, $attr);
 }