Laravel中9个不经常用的小技巧汇总
前言
众所周知Laravel是一套简洁、优雅的PHPWeb开发框架(PHPWebFramework)。下面这篇文章主要给大家总结了一些Laravel不经常用的小技巧,下面话不多说了,来一起看看详细的介绍吧
1.更新父表的timestamps
如果你想在更新关联表的同时,更新父表的timestamps,你只需要在关联表的model中添加touches属性。
比如我们有Post和Comment两个关联模型
belongsTo('App\Post'); } }
2.懒加载指定字段
$posts=App\Post::with('comment:id,name')->get();
3.跳转指定控制器并附带参数
returnredirect()->action('SomeController@method',['param'=>$value]);
4.关联时使用withDefault()
在调用关联时,如果另一个模型不存在,系统会抛出一个致命错误,例如$comment->post->title,那么我们就需要使用withDefault()
... publicfunctionpost() { return$this->belongsTo(App\Post::class)->withDefault(); }
5.两层循环中使用$loop
在blade的foreach中,如果你想获取外层循环的变量
@foreach($usersas$user) @foreach($user->postsas$post) @if($loop->parent->first) Thisisfirstiterationoftheparentloop. @endif @endforeach @endforeach
6.浏览邮件而不发送
如果你使用的是mailables来发送邮件,你可以只展示而不发送邮件
Route::get('/mailable',function(){ $invoice=App\Invoice::find(1); returnnewApp\Mail\InvoicePaid($invoice); });
7.通过关联查询记录
在hasMany关联关系中,你可以查询出关联记录必须大于5的记录
$posts=Post::has('comment','>',5)->get();
8.软删除
查看包含软删除的记录
$posts=Post::withTrashed()->get();
查看仅被软删除的记录
$posts=Post::onlyTrashed()->get();
恢复软删除的模型
Post::withTrashed()->restore();
9.Eloquent时间方法
$posts=Post::whereDate('created_at','2018-01-31')->get(); $posts=Post::whereMonth('created_at','12')->get(); $posts=Post::whereDay('created_at','31')->get(); $posts=Post::whereYear('created_at',date('Y'))->get(); $posts=Post::whereTime('created_at','=','14:13:58')->get();
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。