路由:
数据库模型处理:
connection(‘数据库’)
table('表名‘)
where(‘字段名’,'字段值')
where(‘字段名’,‘like’,'%'.字段值.‘%’)
where('字段名', '>=', 字段值)
where('字段名', '<>', 字段值)
where('字段名', '>', 字段值)
whereBetween('字段名',[$from,$to])
whereNotBetween('字段名',[$from,$to])
whereNotIn(‘字段名’,数组值)
whereIn(‘字段名’,数组值)
orWhere()
select('字段一','字段二') //约束字段
first() 获取一条数据
get() 获取所有数据
toArray() 将结果集转为数组
lists(‘字段名’) 获取数据列值列表
聚合函数:
count() 统计记录条数
max(‘字段名’) 获取指定字段的最大值
avg(‘字段名’) 统计指定字段的平均值
distinct() 过滤重复的数据
addSelect(‘字段名’) 添加一个查询列
groupBy(‘字段名1’,‘字段名2’) 按指定字段分组
having() 用于分组的限定,用法同where
join() 内连接
leftJoin('表名b', 'a.id', '=', 'b.user_id') 左连接
union() 联合查询
orderBy() 排序
skip()限定返回结果集的条数
insert(数组值) 插入数据
insertGetId()插入数据返回新增id
update() 更新
increment(‘字段名’)指定字段自增1
decrement(‘字段名’) 指定字段减1
value(‘字段名’) 从结果中获取单个值
DB::raw('count(*) as user_count, status') 创建一个原生表达式
视图:
模板:
表单的生成:
表单的验证:
CURD操作:
1.基本更新
$flight = App\Flight::find(1);
$flight->name = 'New Flight Name';
$flight->save();
2.基本插入
$flight = new Flight;
$flight->name = $request->name;
$flight->save();
或者
$flight = new Flight(['name'=>'baidu']);
$flight->save();
插入之后获取插入ID:$flight->id;
3.删除模型
$flight = App\Flight::find(1);
$flight->delete();
或者通过主键删除模型
App\Flight::destroy(1);
App\Flight::destroy([1, 2, 3]);
App\Flight::destroy(1, 2, 3);
4.获取单个模型/聚合
$flight = App\Flight::find(1);
5.获取多个模型
$flights = Flight::all();
中间件:
配置文件:
生成表单:
{{ Form::open(array('url' => 'foo/bar')) }}
{!! Form::text('username','lurensang') !!}
{!! Form::text('email', '') !!}
{!! Form::checkbox('email', '1') !!}
{!! Form::checkbox('name', 'value', true) !!} 生成并选中复选框或单选输入框
{!! Form::select('size', array('L' => 'Large', 'S' => 'Small')) !!} 生成一个下拉列表
{!! Form::radio('email', '2') !!}
{!! Form::password('password') !!}
{!! Form::file('image') !!}
{!! Form::submit('登陆') !!}
{!! Form::close() !!}
搜索表单;
{{ Form::open(array('url'=>'media','method'=>'get','class'=>'definewidth1 m20 right')) }}
@if ($status != 0){{ Form::hidden('status', $status) }}@endif
{{ Form::text('media_subject', $media_subject, array('class'=>'input','placeholder'=>'输入网站名称')) }}
{{ Form::submit('搜 索',array('class'=>'btn btn-primary bottom')) }}
{{ Form::close() }}
表单验证:
1.用validate方法验证
$this->validate($request, [
'title' => 'required|unique:posts|max:255',
'author.name' => 'required',
'author.description' => 'required',
]);
2.手动创建验证器
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
if ($validator->fails()) {
return redirect('post/create')
->withErrors($validator)
->withInput();
}
3.遍历错误信息
@if (count($errors) > 0)
<div class = "alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
重定向:
跳转到指定页面:
return redirect('/home');
跳转到上一页:
return redirect()->back();
跳转到制定控制器制定方法:
return redirect()->action('IndexController@index');
获取当前的url:
$url = $request->url();
Input::url();
return redirect()->action(‘NameOfController@methodName’,[parameters]);
结果集处理:
1.分页
paginate(15); //控制器中的分页方法
{!! $users->appends(['sort' => 'votes'])->links() !!} //视图文件中的分页
其他:判断是什么形式的传输方式:
$request->isMethod('post') 判断是不是post方式传输的数据
$request->isMethod('get') 判断是不是get方式传输的数据
addcslashes() //写入数据库时特殊字符的转义
Laravel请求
input() 方法接受一个参数,在表单中的字段的名称
$name = $request->input('username','默认值');
请求(Request)实例获取 username 属性
$request->username
Cookie和Session
1.创建Cookie
$response->withCookie(cookie('name', 'value', $minutes)); //Cookie() 方法带有3个参数。第一个参数是Cookie的名称,第二个参数是cookie的值,而第三个参数是在此之后自动删除cookie的值的持续时间
2.Cookie可以使用 forever方法来来设置永远生效
$response->withCookie(cookie()->forever('name', 'value'));
3.检索Cookie
$value = $request->cookie('name');
Session
$value = $request->session()->get('key'); 访问会话数据
$request->session()->put('key', 'value'); 存储会话数据
$request->session()->forget('key'); 删除Session数据
常用注释:
/**
* 功能:api应用反作弊编辑
*
* @param \Illuminate\Http\Request $request
* @param int $year 年
* @param int $month 月
* @param int $id 应用代码位id
* @return array $re 返回单条编辑的数据
* @author lxj@20170216
*/
手册参考网站:
http://laravelacademy.org/