### 一些经常用到的laravel功能

分页 : 

控制器 :
$posts = Post::orderBy('created_at' ,'desc')->paginate(5);
return view('post/index' ,compact('posts'));

视图里 :
{{$posts->links()}}
1
2
3
4

时间格式化 : 

<pre class="pure-highlightjs">`{{$post->created_at->toFormattedDateString()}}
<!--more-->

文本内容格式化 : 

<pre class="pure-highlightjs">`参数1:内容 ,
参数2:截取多少位 ,
参数三:超出后显示的内容
{{str_limit($post->content ,100 ,'...')}}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

标准的laravel数据验证 : 

<pre class="pure-highlightjs">`控制器中 :
/**
* 不信任任何前端提交的数据
* 利用this的validate方法作第二次数据校验
* 第一个参数 包含校验数据的数组
* 第二个参数 关联数组 ,
* key是参数1 需要校验的数据包含的key ,
* value是校验规则
*/
$this->validate(request() ,[
'title' => 'required|string|max:100|min:5',
'content' => 'required|string|min:10',
]);

校验数据的唯一性 ,语法 |unique:表名,字段名
$this->validate(request() ,[
'name' => 'require|string|max:40|min:6|unique:user,name'
]);``

视图里:
foreach ($errors as $error){
echo "error $error";
}
laravel 不转译html直接打印 :

<pre class="pure-highlightjs">`{!!str_limit($post->content ,100 ,'...')!!}
1
2
3
4
5
6
7
8
9
10

文件上传 : 

<pre class="pure-highlightjs">`/**
* 文件上传
* 从请求中拉取一个文件上传请求
* 并储存到env文件中定义的位置并重命名和返回全路径
* 返回一个asset(storage/路径) 包含了被上传图片的可访问URL
*/
$path = $request->file('wangEdit')->storePublicly(md5(time())); return asset('storage/' .$path);
语言包 : 

<pre class="pure-highlightjs">`laravel_root/config/app.php 中的 locale => '' 即为语言包名 
语言包文件在resource中的/laravel_root/resources/lang/下
1
2
3
4
5
6
7
8

创建 : 

<pre class="pure-highlightjs">`# 创建控制器
php artisan make:controller CtrlName

# 创建模型
php artisan make:model ModelName
列出 : 

<pre class="pure-highlightjs">`# 列出路由 
php artisan route:list

&nbsp;