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