monaye/larasort

一个主要用于Laravel生成排序链接的PHP包。

2.0.1 2015-08-15 22:53 UTC

This package is auto-updated.

Last update: 2024-08-29 02:50:25 UTC


README

一个主要用于Laravel生成排序链接的PHP包。

alt text alt text

安装

在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') }}

(示例)
alt text

带选项的使用

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>'
);

(示例)

alt text

与模型排序
使用模型(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)将用于默认值。方向可以是ascdesc

注意:如果你使用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