• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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();

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

    您可能感兴趣的文章:
    • PHP框架Laravel的小技巧两则
    • Laravel框架之blade模板新手入门教程及小技巧
    • Laravel框架路由配置总结、设置技巧大全
    • laravel技巧之查询构造器Query Builder叠加链式调用的方法
    • 详谈PHP程序Laravel 5框架的优化技巧
    上一篇:Laravel框架自定义公共函数的引入操作示例
    下一篇:CI框架教程之优化验证码机制详解【验证码辅助函数】
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    Laravel中9个不经常用的小技巧汇总 Laravel,中,9个,不经常,用的,