session中set方法使用
Session::set('user.username.age','18')嵌套使用得出$user = ['username'=>['age'=>18]];
取出也可以这样Session::get('user.username.age');
轻松学会Laravel-基础篇
DB::table(表名)->chunk(每组数量,function($data){
dd($data);
if(条件)
return false//只查一次
})
DB::table(表名)->pluck(字段名)相当于TP中,getField(字段名,true);
DB::table(表名)->list(字段名1,字段名2)相当于TP中,getField(字段名1,字段2),返回字段名1为键名,字段名2为键值的数组;
多件查询 DB::table(表名)->whereRaw('条件语句(含占位符?)',[值1,值2……])->get()
DB::table('表名')->incerment('字段’,步进值,[字段=》修改值])
DB::table('表名')->decerment('字段’,步减值,[字段=》修改值])
6-3 Eloquent ORM中新增数据、自定义时间戳及批量赋值的使用
如果没有符合查询条件的记录就创建记录,firstOrCreate([''=>''])
没有符合查询条件的记录不会创建记录,需要保存手动调用save()方法firstOrNew([''=>'']),相当于$data->字段=值 字段赋值
6-3 Eloquent ORM中新增数据、自定义时间戳及批量赋值的使用
将create_at与update_at改为UNIX_TIMESTAP格式,在模型中创建 function getDateFormat(){return time()}
但查询$data->create_at时还是Carbon对象 格式还是Y-m-d H:i:s,要想取到时间戳,则需在模型中创建方法function asDateTime($val){return $val}
运行原生SQL语句
DB::select('select ...');
DB::insert('insert into ..')
DB::update('update ...)
DB::delete('delete from')
自定义错误:在验证函数validate()中自定义第二个参数(验证规则),第三个参数(错误提示,可以用:attrabute绑定字段名),第四个参数(字段名绑定);
中间件操作:
1、新建中间件:手写,或artisan命令创建
2、注册中间件:在Kernel.php $routeMiddleware属性中加入中间件
3、使用中间件:路由中加入路由组
4、前置和后置操作:将$response=$next($request)置前或置后,$next是下一个操作闭包,$request是请求
响应类型:
字符串 :直接return
视图:return view();
json:return response()->json()
重定向:return redirect()->with()带数据跳转
return redirect()->action()->with()带数据跳转至某控制方法
return redirect()->route(路由别名)->with()带数据跳转至某路由
return redirect()->back()->with() 带数据跳转至上一个页面
session操作的三种方式:
1、$request->session()->方法 request方式
2、session()->方法 帮助函数方式
3、Session::方法 Session类方式
$request->ajax()判断是否ajax请求
1、php artisan queue:table
php artisan migrate
2、php artisan make:jobs 任务类名
3、$this->dispatch(new 任务类对)
4、php artisan queue:listen
5、php artisan queue:failed-table
php artisan migrate
查看php artisan queue:failed
再次执行php artisan queue:retry(id)
全部执行 php artisan queue:retry all
删除某个php artisan queue:forget [id]
删除全部 phpartisan queue:flush
日志级别:emergency alert critical error warning notice info debug
Log::info("User failed to login",["id"=>$user->id])传递的变量将序列化成字符串格式存放:User failed to login{id:"number"}
系统抛出自定义错误页面:abort('自定页面文件名'),在errors文件夹下面;
如果是路由没定义,则自动在errors下找到404页面代替
//纯文本
Mail::raw('邮件内容",function($message){
$message->from("发件地址","发件人");
$message->subject("邮件主题");
$message->to("收件地址","收件人")
})
//自定义视图
Mail::send("视图文件",[变量名=>字符/数组/对象],function($m)use(外部变量){
$message->from("发件地址","发件人");
$message->subject("邮件主题");
$message->to("收件地址","收件人");
});
Storage::disk('uploads')->put($filename,file_get_contents($realPath))上传到指定文件夹
批量填充数据 在CLASS DatebaseSeeder RUN方法下执行$this->call(要执行的seeder)即可