返回
热门搜索

Laravel中10个有用的用法小结

IT博客 半导体/芯片 芯片测试工程师 点击量 499

基本信息 收藏 - 举报 - 海报

详细介绍

本文给大家介绍了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("AppPhone");
 }
}
$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 = AppUser::first();
$user->name;   //John
$user->name = "Peter";  //Peter
$user->getOriginal("name"); //John
$user->getOriginal();  //Original $user record

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

没有更多内容。

用户评价(0)

好评度100%
  • 还没有人评论此条信息!
+ 加载更多

联系方式

提示:联系我时,请说明在巅云php学苑看到的,谢谢!
  • 联系人:
  • 地  区:
  • 电  话: 共发布信息(2004)条 所在地:未填写
看了又看
加载中
首页 首页 收藏 收藏

电话联系