您好,登錄后才能下訂單哦!
這篇文章主要介紹Laravel中10種用法示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
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
以上是“Laravel中10種用法示例”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。