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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Laravel中10个有用的用法小结

    本文给大家介绍了Laravel 中一些常用的用法

    1. 在 find 方法中指定属性

    User::find(1, ['name', 'email']);
    User::findOrFail(1, ['name', 'email']);

    2. Clone 一个 Model

    用 replicate 方法可以克隆一个 Model

    $user = User::find(1);
    $newUser = $user->replicate();
    $newUser->save();

    3. 判断两个 Model 是否相同

    检查两个 Model 的ID是否相同用 is 方法

    $user = User::find(1);
    $sameUser = User::find(1);
    $diffUser = User::find(2);
    $user->is($sameUser); // true
    $user->is($diffUser); // false;

    4. 重新加载一个 Mode

    $user = User::find(1);
    $user->name; // 'Peter'
    // 如果 name 更新过,比如由 peter 更新为 John
    $user->refresh();
    $user->name; // John

    5. 加载新的 Model

    $user = User::find(1);
    $user->name; // 'Peter'
    // 如果 name 更新过,比如由 peter 更新为 John
    $user->refresh();
    $user->name; // John

    6. 更新带关联的 Model

    在更新关联的时候,使用 push 方法可以更新所有 Model

    class User extends Model
    {
     public function phone()
     {
     return $this->hasOne('App\Phone');
     }
    }
    $user = User::first();
    $user->name = "Peter";
    $user->phone->number = '1234567890';
    $user->save(); // 只更新 User Model
    $user->push(); // 更新 User 和 Phone Model

    7. 自定义软删除字段

    Laravel 默认使用 deleted_at 作为软删除字段,我们通过以下方式将 deleted_at 改成 is_deleted

    class User extends Model
    {
     use SoftDeletes;
     * deleted_at 字段.
     *
     * @var string
     */
     const DELETED_AT = 'is_deleted';
    }

    或者使用访问器

    class User extends Model
    {
     use SoftDeletes;
     
     public function getDeletedAtColumn(){
     return 'is_deleted';
     }
    }

    8. 查询 Model 更改的属性

    $user = User::first();
    $user->name; // John
    $user->name = 'Peter';
    $user->save();
     
    dd($user->getChanges());
    // 输出:
    [
     'name' => 'John',
     'updated_at' => '...'
    ]

    9. 查询 Model 是否已更改

    $user = User::first();
    $user->name;  // John
    $user->isDirty(); // false 
    $user->name = 'Peter'; 
    $user->isDirty(); // true
    $user->getDirty(); // ['name' => 'Peter']
    $user->save();  
    $user->isDirty(); // false

    getChanges() 与 getDirty() 的区别

    getChanges() 方法用在 save() 方法之后输出结果集

    getDirty() 方法用在 save() 方法之前输出结果集

    10. 查询修改前的 Model 信息

    $user = App\User::first();
    $user->name;   //John
    $user->name = "Peter";  //Peter
    $user->getOriginal('name'); //John
    $user->getOriginal();  //Original $user record

    到此这篇关于Laravel中10个有用的用法小结的文章就介绍到这了,更多相关Laravel技巧用法小结内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 浅谈Laravel中使用Slack进行异常通知
    • 如何用Laravel包含你自己的帮助函数
    • 详解Laravel框架的依赖注入功能
    • php+laravel 扫码二维码签到功能
    • laravel的数据表填充器使用详解
    • laravel ajax curd 搜索登录判断功能的实现
    • Laravel中Kafka的使用详解
    • laravel使用redis队列实例讲解
    • Laravel的加密解密与哈希实例讲解
    • 分析五个Laravel Dusk的使用技巧
    上一篇:Laravel中的where高级使用方法实例讲解
    下一篇:Laravel的加密解密与哈希实例讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Laravel中10个有用的用法小结 Laravel,中,10个,有,用的,用法,