前言
众所周知Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。下面这篇文章主要给大家总结了一些Laravel不经常用的小技巧,下面话不多说了,来一起看看详细的介绍吧
1. 更新父表的timestamps
如果你想在更新关联表的同时,更新父表的timestamps,你只需要在关联表的model中添加touches属性。
比如我们有Post和Comment两个关联模型
<"color: #ff0000">2. 懒加载指定字段
$posts = App\Post::with('comment:id,name')->get();3. 跳转指定控制器并附带参数
return redirect()->action('SomeController@method', ['param' => $value]);4. 关联时使用withDefault()
在调用关联时,如果另一个模型不存在,系统会抛出一个致命错误,例如 $comment->post->title,那么我们就需要使用withDefault()
... public function post() { return $this->belongsTo(App\Post::class)->withDefault(); }5. 两层循环中使用$loop
在blade的foreach中,如果你想获取外层循环的变量
@foreach ($users as $user) @foreach ($user->posts as $post) @if ($loop->parent->first) This is first iteration of the parent loop. @endif @endforeach @endforeach6. 浏览邮件而不发送
如果你使用的是mailables来发送邮件,你可以只展示而不发送邮件
Route::get('/mailable', function () { $invoice = App\Invoice::find(1); return new App\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();总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。