当前位置: 首页>>代码示例>>PHP>>正文


PHP Collection::order方法代码示例

本文整理汇总了PHP中Collection::order方法的典型用法代码示例。如果您正苦于以下问题:PHP Collection::order方法的具体用法?PHP Collection::order怎么用?PHP Collection::order使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Collection的用法示例。


在下文中一共展示了Collection::order方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: actionDefault

 protected static function actionDefault()
 {
     /*
      * Если выводиться вся страница то списко товаров передается шаблону products-list таким образом
      * Controller -> index -> products-list
      * Если запрос аяксовый то переменные передаются напрямую шаблону products-list
      * Controller -> products-list
      * Но при создании этих переменных мы не думаем о том какой шаблон будет выводиться.
      */
     // Заголовок списка товаров
     self::templateVar('product_list_title', 'Последние товары');
     // товары в списке (6 последних добавленных в соотвествии с фильтром цен)
     $collection = new Collection('Product', App::currentLang()->getId());
     $collection->link('cover');
     $collection->order("`add` DESC");
     $where = "`active` = 1";
     if (isset($_POST['submitPriceRange'])) {
         $where .= " AND `price` >= {$_POST['min']} AND `price` <= {$_POST['max']}";
     }
     $collection->where($where);
     $collection->limit(6);
     self::templateVar('product_list_items', $collection->items());
     if (App::isAjax()) {
         // Если это ajax выводим чанк списка товаров
         return self::displayPage('chunks/product-list');
     }
     // Привязка категорий для табов под списком товаров
     // Получаем две категории из базы
     $collection = new Collection('Category', App::currentLang()->getId());
     $collection->where("`active` = 1");
     $collection->limit(2);
     $categories = $collection->items();
     foreach ($categories as $category) {
         $collection = new Collection('Product', App::currentLang()->getId());
         $collection->where("`id_category` = " . $category->getId() . " AND `active` = 1");
         $collection->limit(4);
         $category->setLink('products', $collection->items());
     }
     foreach ($categories as $index => $category) {
         if (empty($category->products)) {
             unset($categories[$index]);
         }
     }
     // Привязываем к шаблону
     static::templateVar('tab_categories', $categories);
     return self::displayPage('index');
 }
开发者ID:swash13,项目名称:shop,代码行数:47,代码来源:Index.php

示例2: actionSearch

 protected static function actionSearch()
 {
     // Заголовок над списком твоаров
     self::templateVar('product_list_title', 'Результаты поиска');
     // Товары
     $products = new Collection('Product', App::currentLang()->getId());
     $products->link('cover');
     $products->where("`active` = 1 AND `name` LIKE '%{$_GET['q']}%'" . (isset($_POST['submitPriceRange']) ? " AND `price` >= {$_POST['min']} AND `price` <= {$_POST['max']}" : ''));
     $products->order("`add` DESC");
     $products->limit(12);
     self::templateVar('product_list_items', $products->items());
     // Если это ajax выводим только чанк product-list
     if (App::isAjax()) {
         return self::displayPage('chunks/product-list');
     }
     return self::displayPage('catalog');
 }
开发者ID:swash13,项目名称:shop,代码行数:17,代码来源:Catalog.php

示例3: actionDefault

 protected static function actionDefault()
 {
     // Получение списка товаров
     $products = new Collection('Product', 1);
     $products->link('category');
     $products->link('brand');
     $products->link('cover');
     $products->order('`add` DESC');
     $list = new TemplateList();
     $list->fields = array('id' => array('type' => 'id', 'title' => 'Номер'), 'cover->file' => array('type' => 'image', 'title' => 'Изображение', 'directory' => 'products', 'size' => '85x84'), 'name' => array('type' => 'text', 'title' => 'Название'), 'category->name' => array('type' => 'text', 'title' => 'Категория'), 'brand->name' => array('type' => 'text', 'title' => 'Производитель'), 'price' => array('type' => 'text', 'title' => 'Цена'), 'active' => array('type' => 'active', 'title' => 'Вкл/Выкл', 'action' => 'active', 'controller' => 'admin-products'));
     $list->itemActions = array('edit' => array('hint' => 'Изменить', 'icon' => 'edit', 'controller' => 'admin-products'), 'delete' => array('hint' => 'Удалить', 'icon' => 'delete', 'controller' => 'admin-products'));
     $list->actions = array('new' => array('hint' => 'Добавить', 'icon' => 'add', 'controller' => 'AdminProducts'));
     $list->items = Model::setModelsAutoload($products->items(), false, true);
     $list->classes = 'center-list';
     self::templateVar('title', App::t('Товары'));
     self::templateVar('content', $list);
     return self::displayPage('admin');
 }
开发者ID:swash13,项目名称:shop,代码行数:18,代码来源:AdminProducts.php

示例4: __callStatic

 public static function __callStatic($name, $arguments)
 {
     $collection = new Collection($arguments[0]);
     switch ($name) {
         case '_columns':
             return $collection->columns($arguments[1]);
         case '_where':
             return $collection->where($arguments[1]);
         case '_join':
             return $collection->join($arguments[1]);
         case '_order':
             return $collection->order($arguments[1], $arguments[2]);
         case '_group':
             return $collection->group($arguments[1]);
         case '_limit':
             return $collection->limit($arguments[1]);
         case '_offset':
             return $collection->offset($arguments[1]);
         case '_all':
             return $collection->all();
         default:
             throw new \Bacon\Exceptions\MethodNotFound();
     }
 }
开发者ID:brainsware,项目名称:bacon,代码行数:24,代码来源:Collection.php

示例5: loadLink

 private function loadLink($link_name)
 {
     if (isset(static::$links[$link_name]) && $this->id) {
         $link = static::$links[$link_name];
         switch ($link['type']) {
             // Когда модель связана со списком объектов другой модели
             case LinkType::PRIMARY_KEY:
                 $collection = new Collection($link['model']);
                 if (isset($link['order'])) {
                     $collection->order($link['order']);
                 }
                 $where = "`{$link['field']}` = {$this->id}";
                 if (isset($link['where'])) {
                     $where .= " AND {$link['where']}";
                 }
                 $collection->where($where);
                 if (isset($link['limit'])) {
                     $collection->limit($link['limit']);
                 }
                 $models = $collection->items();
                 if (isset($link['limit']) && $link['limit'] == 1) {
                     if (!empty($models)) {
                         $this->models[$link_name] = $models[0];
                     } else {
                         $this->models[$link_name] = null;
                     }
                 } else {
                     $this->models[$link_name] = $models;
                 }
                 break;
                 // Когда модель связана с одним объектом другой модели
             // Когда модель связана с одним объектом другой модели
             case LinkType::FOREIGN_KEY:
                 $collection = new Collection($link['model']);
                 $where = "`id` = {$this->{$link['field']}}";
                 if (!empty($link['where'])) {
                     $where .= " AND {$link['where']}";
                 }
                 $collection->where($where);
                 $models = $collection->items();
                 if (!empty($models)) {
                     $this->models[$link_name] = $models[0];
                 } else {
                     $this->models[$link_name] = null;
                 }
                 break;
                 // Связь многие ко многим через промежуточную таблицу
             // Связь многие ко многим через промежуточную таблицу
             case LinkType::TABLE:
                 $ids = DB::getTable("SELECT `{$link['field2']}`\n                        FROM `{$link['table']}`\n                        WHERE `{$link['field1']}` = {$this->id}\n                    ");
                 foreach ($ids as $index => $row) {
                     $ids[$index] = $row[$link['field2']];
                 }
                 $collection = new Collection($link['model']);
                 if ($link['order']) {
                     $collection->order($link['order']);
                 }
                 $where = "`id` IN (" . implode(', ', $ids) . ")";
                 if ($link['where']) {
                     $where .= " AND {$link['where']}";
                 }
                 $collection->where($where);
                 if ($link['limit']) {
                     $collection->limit($link['limit']);
                 }
                 $models = $collection->items();
                 if ($link['limit'] == 1) {
                     if (!empty($models)) {
                         $this->models[$link_name] = $models[0];
                     } else {
                         $this->models[$link_name] = null;
                     }
                 } else {
                     $this->models[$link_name] = $models;
                 }
                 break;
         }
     }
 }
开发者ID:alexelev,项目名称:bmf,代码行数:79,代码来源:Model.php


注:本文中的Collection::order方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。