本文整理汇总了PHP中Collection::limit方法的典型用法代码示例。如果您正苦于以下问题:PHP Collection::limit方法的具体用法?PHP Collection::limit怎么用?PHP Collection::limit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Collection
的用法示例。
在下文中一共展示了Collection::limit方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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');
}
示例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');
}
示例3: __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();
}
}
示例4: 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;
}
}
}