monaye / larasort
一个主要用于Laravel生成排序链接的PHP包。
2.0.1
2015-08-15 22:53 UTC
Requires
- laravel/framework: ~5.0
- laravelcollective/html: ~5.0
README
一个主要用于Laravel生成排序链接的PHP包。
安装
在composer.json中添加此包名
"require": {
"monaye/larasort": "2.*"
}
执行composer命令。
composer update
在app.php中注册服务提供者
'providers' => [
...Others...,
Monaye\Larasort\LarasortServiceProvider::class,
]
别名
'aliases' => [
...Others...,
'Larasort' => Monaye\Larasort\Facades\Larasort::class
]
用法
最简单的方法
{{ \Larasort::links('your-column-name') }}
带选项的使用
echo \Larasort::url('http://example.com')
->text('↑', '↓')
->appends([
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
])
->keys('order', 'direction')
->links('column_name', $separator = '');
- 除了links()之外的所有方法都是可选的。请参阅方法
单文本方式
如果你设置第三个参数如下,则只显示一个链接。
\Larasort::text(
'<i class="fa fa-sort-asc"></i>',
'<i class="fa fa-sort-desc"></i>',
'<i class="fa fa-sort"></i>'
);
(示例)
与模型排序
使用模型(Eloquent),你可以自动设置如下“ORDER BY”。
$items = \App\Item::select('id', 'title');
$items = \Larasort::sort($items,
['id', 'title', 'created_at'],
['updated_at', 'asc']
);
dd($items->get()->toArray());
- 第二个参数(Array)表示忽略特定列名以设置安全的“ORDER BY”。
- 第三个参数(Array)将用于默认值。方向可以是
asc
和desc
注意:如果你使用keys()方法更改了"ORDER BY"参数名称,那么在这种情况下也需要设置。
方法
- url($url)
$url
是包含在href
属性中的基础URL。
- text($one, $two)
$one
和$two
是包含在链接标签中的文本。
例如:<a href="****">YOUR-TEXT</a>
- appends($values)
$values
是你想要包含在链接URL中的附加值。
例如: http://example.com?orderby=*****&direction=asc&YOUR-KEY=YOUR-VALUE
许可证
本包采用MIT许可证。
版权所有 2014 Monaye Kuhoh