Laravel中10个有用的用法小结
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-21 17:23:14 浏览: 评论:0
这篇文章主要给大家总结介绍了关于Laravel中10个有用的用法,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
前言
本文给大家介绍了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. 重新加载一个 Model
- $user = User::find(1);
- $user->name; // 'Peter'
- // 如果 name 更新过,比如由 peter 更新为 John
- $user->refresh();
- $user->name; // John
5. 加载新的 Model
- $user = App\User::first();
- $user->name; // John
- //
- $updatedUser = $user->fresh();
- $updatedUser->name; // Peter
- $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
Tags: Laravel用法小结
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)