摘要:是一個功能豐富的框架。但是,你無法從官方文檔中找到所有可用的功能。例數(shù)據(jù)庫又插入一條為的數(shù)據(jù)。也很樂意聽到你對此的看法和想法。你可以在上找到我。
Laravel 是一個功能豐富的框架。但是,你無法從官方文檔中找到所有可用的功能。以下是一些你可能不知道的功能。
1.獲取原始屬性當(dāng)修改一條 Eloquent 模型記錄的時候你可以通過調(diào)用 getOriginal() 方法獲取記錄的原始屬性
$user = AppUser::first(); $user->name; //John $user->name = "Peter"; //Peter $user->getOriginal("name"); //John $user->getOriginal(); //原始 $user 記錄2.?檢查模型是否被修改
使用?isDirty() 方法確定模型或給定屬性是否已被修改
$user = AppUser::first(); $user->isDirty(); //false $user->name = "Peter"; $user->isDirty(); //true
也可以檢查指定屬性是否被修改。
$user->isDirty("name"); //true $user->isDirty("age"); //false3.?獲取更改的屬性
使用?getChanges() 獲取更改的屬性
$user->getChanges() //[ "name" => "Peter", ]
注:僅當(dāng)您使用 ?syncChanges() 保存模型或同步更新時,才生效4.?定義?deleted_at?字段
默認(rèn)情況下,Laravel使用deleted_at字段處理軟刪除。 您可以通過定義DELETED_AT屬性來更改它。
class User extends Model { use SoftDeletes; * The name of the "deleted at" column. * * @var string */ const DELETED_AT = "is_deleted"; }
或者定義訪問
class User extends Model { use SoftDeletes; public function getDeletedAtColumn() { return "is_deleted"; } }5.?保存模型和關(guān)系
您可以使用push()方法保存模型及其關(guān)聯(lián)。
class User extends Model { public function phone() { return $this->hasOne("AppPhone"); } } $user = User::first(); $user->name = "Peter"; $user->phone->number = "1234567890"; $user->push(); // 這將更新數(shù)據(jù)庫中的用戶和電話6.?重新加載模型
使用 fresh() 重新從數(shù)據(jù)庫加載一個模型。
$user = AppUser::first(); $user->name; // John // user 表被其他進(jìn)程修改。 例:數(shù)據(jù)庫又插入一條 “name” 為 “Peter” 的數(shù)據(jù)。 $updatedUser = $user->fresh(); $updatedUser->name; // Peter $user->name; // John7.?重新加載現(xiàn)有模型
你可以使用 refresh() 方法從數(shù)據(jù)庫重新加載具有新值的現(xiàn)有模型。
$user = AppUser::first(); $user->name; // John // user 表被其他進(jìn)程修改。例: “name” 被修改為 “Peter” 。 $user->refresh(); $user->name; // Peter
注:?refresh()?也會更新模型的關(guān)聯(lián)模型數(shù)據(jù)。8.?檢查模型是否為同一個
使用 is() 方法確定兩個模型是否擁有相同主鍵并且屬于同一張表。
$user = AppUser::find(1); $sameUser = AppUser::find(1); $diffUser = AppUser::find(2); $user->is($sameUser); // true $user->is($diffUser); // false9.?克隆一個模型
你可以使用 replicate() 方法來復(fù)制一個模型到一個新的對象中。
$user = AppUser::find(1); $newUser = $user->replicate(); $newUser->save();10.?在?find()?方法中指定查找的屬性
當(dāng)使用 find() 或 findOrFail() 方法時,傳入第二個參數(shù)可以指定需要查找的屬性。
$user = AppUser::find(1, ["name", "age"]); $user = AppUser::findOrFail(1, ["name", "age"]);
如果你發(fā)現(xiàn)這篇文章有幫助,通過點贊來表達(dá)你的喜歡。也很樂意聽到你對此的看法和想法。你可以在 Twitter 上找到我。
轉(zhuǎn)自 PHP / Laravel 開發(fā)者社區(qū) https://laravel-china.org/top...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/30015.html
摘要:本文經(jīng)授權(quán)轉(zhuǎn)自社區(qū)說明發(fā)布臨近,大體構(gòu)建已經(jīng)完成,文檔整理完成后即可發(fā)布。附帶了一個響應(yīng)式郵件模板,通知類中唯一需要做的就是像下面這樣發(fā)送消息錯誤處理是一個可選的擴展包,提供了完整可用的服務(wù)。 本文經(jīng)授權(quán)轉(zhuǎn)自 PHPHub 社區(qū) 說明 Laravel 5.3 發(fā)布臨近,大體構(gòu)建已經(jīng)完成,文檔整理完成后即可發(fā)布。 下面是對 Laravel 5.3 新特性的整理,不完整列表。 1、全文搜...
摘要:看起來是一個簡單的機制,但是在底層,有很多半隱藏的函數(shù)和鮮為人知的方式來實現(xiàn)更多功能。在這篇文章中,我將演示幾個小技巧。另外,在里也有些和時間相關(guān)的預(yù)定義方法通過關(guān)系排序一個復(fù)雜一點的技巧。幸運的是,確實有這樣的方法。 showImg(https://segmentfault.com/img/bV8L5s?w=1240&h=634); Eloquent ORM 看起來是一個簡單的機制,...
摘要:大刀闊斧的改造在學(xué)習(xí)了兩遍之后,基于教程開發(fā)的校園二手書交易平臺熊能本周閱讀清單紙牌屋弗蘭克知道的太晚了實現(xiàn)微信紅包拆分算法聊聊最近求職發(fā)生的故事無銘更多現(xiàn)代化知識,請前往知識社區(qū) showImg(https://segmentfault.com/img/bV8ctF?w=1650&h=1100); 最新資訊 Laravel 5.6 中文文檔翻譯完成,譯者 60 人,耗時 10 天...
摘要:大家有好的文章可以在評論下面分享出來共同進(jìn)步本文鏈接數(shù)組使用之道程序員進(jìn)階學(xué)習(xí)書籍參考指南教你在不使用框架的情況下也能寫出現(xiàn)代化代碼巧用數(shù)組函數(shù)框架中間件實現(xiàn)沒錯,這就是面向?qū)ο缶幊淘O(shè)計模式需要遵循的個基本原則令人困惑的在中使用協(xié)程實現(xiàn)多任 大家有好的文章,可以在評論下面分享出來, 共同進(jìn)步! 本文github鏈接 php PHP 數(shù)組使用之道 PHP程序員進(jìn)階學(xué)習(xí)書籍參考指南 教你...
摘要:當(dāng)查詢數(shù)據(jù)時,本地范圍允許我們創(chuàng)建自己的查詢構(gòu)造器鏈?zhǔn)椒椒ā_@樣便會知道這是一個本地范圍并且可以在查詢構(gòu)造器中使用。某些查詢構(gòu)造器不可用或者說可用但是方法名不同,關(guān)于這些請查閱所有集合的方法。 showImg(https://segmentfault.com/img/remote/1460000017877956?w=800&h=267); Laravel 因可編寫出干凈,可用可調(diào)試的...
閱讀 2515·2021-11-18 10:02
閱讀 1984·2021-11-09 09:45
閱讀 2426·2021-09-26 09:47
閱讀 1024·2021-07-23 10:26
閱讀 1068·2019-08-30 15:47
閱讀 3361·2019-08-30 15:44
閱讀 968·2019-08-30 15:43
閱讀 887·2019-08-29 13:50