sukohi / caruta
一个主要用于Laravel生成排序链接的PHP包。
2.0.1
2015-08-15 22:53 UTC
Requires
- laravel/framework: ~5.0
- laravelcollective/html: ~5.0
README
一个主要用于Laravel生成排序链接的PHP包。
(适用于Laravel 5+。 适用于Laravel 4.2)
安装
在 composer.json 中添加此包名称。
"require": {
"sukohi/caruta": "2.*"
}
执行 composer 命令。
composer update
在 app.php 中注册服务提供者。
'providers' => [
...Others...,
Sukohi\Caruta\CarutaServiceProvider::class,
]
也别名
'aliases' => [
...Others...,
'Caruta' => Sukohi\Caruta\Facades\Caruta::class
]
使用方法
最小化方式
{{ \Caruta::links('your-column-name') }}
带选项
echo \Caruta::url('http://example.com')
->text('↑', '↓')
->appends([
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
])
->keys('order', 'direction')
->links('column_name', $separator = '');
- 所有方法除了 links() 都是可选的。请参阅 方法
单文本方式
如果您设置第三个参数如下,则只显示一个链接。
\Caruta::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 = \Caruta::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 Sukohi Kuhoh