laravel方法
- has():存在且不为 null 的话返回true
- exists():存在则返回true
- flash():闪存数据,只能用一次
- refresh():将数据保存到下一个请求
- keep():保存特定一次性数据
- forget():删除指定数据
- flush():删除所有数据
laravel验证信息显示:
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
ajax请求中使用validate方法时,Laravel 不会生成重定向相应。而是生成一个包含议验证错误信息的 JSON 相应,该 JSON 响应会带上一个 HTTP 状态码 422
查询构造器
获取表中所有数据,二维数组
$user = DB::table('users')->get();
从表中获取一行
$user = DB::('users')->where('name', 'John')->value('email');
获取单个值
$user = DB::('users')->where('name', 'John')->value('email');
获取角色标题数组:
$title = DB::table('roles')->pluck('title');
组块结果集
当需要处理成千上百条数据时,可以使用 chunk 方法,该方法一次获取结果集的一小块,然后传递每一小块数据到闭包函数进行处理。
DB::table('users')->orderBy('id')->chunk(100, function($users) {
foreach ($users as $user){
// do something
return false; // 通过闭包函数中返回 false 来终止组块的运行
}
})
原生表达式
避免sql注入,可以使用DB::raw方法
$users = DB::table('users')->select(DB::raw('count(*) as user_count, status'))
->where('status', '<>', 1)
->groupBy('status')
->get();