下面由laravel入門教程欄目給大家介紹laravel orm 中你不知道的騷操作,希望對需要的朋友有所幫助!
????class?User?extends?Model ????{ ????????protected?$appends?=?['is_adult']; ????????public?function?getIsAdultAttribute() ????????{ ????????????return?$this->attribute['age']?>?18; ????????} ????}
這個操作大家是不是都用過,在模型里新增一個數(shù)據(jù)庫不存在的字段,非常方便。但是 $appends 是全局的,所有的查詢中都會添加 is_adult 這個字段。
User::select('id',?'name')->first();
像這樣查詢的時候甚至還會報錯提示 age 字段不存在。
我們可以像這樣,在查詢的時候再將 is_adult 添加進查詢結果集中。
????$user?=?User::first(); ????$user->append('is_adult');
你以為這就完了么?不僅僅如此,如果我們查詢的是多個用戶怎么辦,難道自己 for 循環(huán) append 一遍么?不不不,我們優(yōu)雅的 Laravel 已經為我們考慮過了。
????$user?=?User::paginate(10); ????$user->each->append('is_adult');
query
?????User::where('sex',?'girl')->where('age',?'where('money',?'>',?1000000000000)->get();
這種查詢語句大家是不是經常寫啊?有沒有發(fā)現(xiàn)一個問題?本來找個富蘿莉就挺難得,還沒有提示。
這怎么能忍,稍稍改寫一下,在最前面加個 query ,輕輕松松娶富蘿莉走上人生巔峰。
where
富蘿莉沒找到的話,降低點要求正兒八經找個女朋友吧。雖然有點難,但是如果你知道她的 ID,就可以直接使用
User::query()->find(2);
找到她,簡單快捷。那要是不知道 ID 只知道名字的情況下咋整呢?寫 where 條件?告訴你個更快捷的方法,畢竟找女朋友不能等。
User::query()->firstWhere(['name'?=>?'喬碧蘿']);
先寫這么多,發(fā)現(xiàn)其他騷操作再更。
更多l(xiāng)aravel框架技術文章,請訪問laravel入門教程!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END