laravel有哪些长期支持版本(Laravel中9个不经常用的小技巧汇总)
类别:编程学习 浏览量:1068
时间:2022-03-28 01:21:29 laravel有哪些长期支持版本
Laravel中9个不经常用的小技巧汇总前言
众所周知Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。下面这篇文章主要给大家总结了一些Laravel不经常用的小技巧,下面话不多说了,来一起看看详细的介绍吧
1. 更新父表的timestamps
如果你想在更新关联表的同时,更新父表的timestamps,你只需要在关联表的model中添加touches属性。
比如我们有Post和Comment两个关联模型
|
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Comment extends Model { /** * 要更新的所有关联表 * * @var array */ protected $touches = [ 'post' ]; /** * Get the post that the comment belongs to. */ public function post() { return $this ->belongsTo( 'App\Post' ); } } |
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 @ endforeach |
6. 浏览邮件而不发送
如果你使用的是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(); |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。
原文链接:https://segmentfault.com/a/1190000018864880
您可能感兴趣
- laravel算法(laravel批量生成假数据的方法)
- laravel使用队列(基于laravel where的高级使用方法)
- laravel定时脚本(laravel实现按时间日期进行分组统计方法示例)
- laravel如何设置默认模块(Laravel框架控制器的middleware中间件用法分析)
- laravel视图组件(Laravel5.4框架中视图共享数据的方法详解)
- 关于laravel的日常(解决在laravel中auth建立时候遇到的问题)
- laravel分页(laravel5.5添加echarts实现画图功能的方法)
- yii2和laravel框架哪个比较简单(关于Yii中模型场景的一些简单介绍)
- laravel框架两表联查(Laravel 使用查询构造器配合原生sql语句查询的例子)
- laravel数据返回格式(laravel 关联关系遍历数组的例子)
- laravel接口请求模拟(Laravel框架控制器的request与response用法示例)
- laravel数据库切换(实现laravel 插入操作日志到数据库的方法)
- laravel队列使用场景(Laravel使用RabbitMQ的方法示例)
- laravel 队列导入数据(laravel框架查询数据集转为数组的两种方法)
- laravel数据库查询(Laravel获取所有的数据库表及结构的方法)
- laravel框架详解(laravel 5.3 单用户登录简单实现方法)
- 今日菜价 芥兰涨幅最高 1.33 ,花菜降幅最高 3.10(今日菜价芥兰涨幅最高)
- 今日菜价 椰菜涨幅最高 3.25 ,水空心菜降幅最高 2.58(今日菜价椰菜涨幅最高)
- 今日菜价 红三鱼涨幅最高 4.41 ,黄鳝降幅最高 5.06(红三鱼涨幅最高)
- 今日菜价 西生菜涨幅最高 6.19 ,生菜降幅最高 5.38(西生菜涨幅最高)
- 今日菜价 青豆角涨幅最高 0.70 ,菜心降幅最高 5.55(青豆角涨幅最高)
- 农村植物,龙芽草若长在您家路旁,请珍惜,它对抗癌有特效(龙芽草若长在您家路旁)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9