TP5中where里面閉包寫法引起的思考

知其然已經(jīng)很難了甩骏,為什么要知其所以然?王陽明的知行合一先慷,或不僅僅為了知行合一而知行合一饮笛。做什么,都是為現(xiàn)實服務(wù)的论熙。行福青,為了更好的知,而知脓诡,為了更好的行无午。最終目的,當然每個人不一樣祝谚,但一定有宪迟。

知其所以然,當然是更好的知其然交惯。這樣次泽,不管困難再怎么排列組合,也能得心應(yīng)手席爽。萬變不離其宗意荤,同樣的道理。

看一段TP5上面的代碼:

 $data = DB::name('company')->select();
 $data = DB::table('company');

每個人都有自己的習慣拳昌,有的喜歡用Db::name袭异,有的喜歡用DB::table。也有人炬藤,只知道DB::name御铃;當然也有人只知道Db::table。

不要感覺不可思議沈矿,我曾是里面的一員上真,至今記得那個時候看到Db::table時眼睛一亮:還有這樣的?

然后羹膳,然后記住了睡互,然后就沒了……(和別人的差距就在這里)

又過了好久,想看一下兩個有什么不同陵像,于是看了一下declaration就珠,一個鼠標點擊的事,一秒鐘的事醒颖。有點感覺了妻怎。

image.png

查詢器query對象

于是,那時候了解了查詢器query對象泞歉。

* @method Query name(string $name) static 指定數(shù)據(jù)表(不含前綴)
* @method Query where(mixed $field, string $op = null, mixed $condition = null)

通過比較這倆哥們返回值逼侦,對鏈式查詢有了感覺匿辩。

 * @method mixed find(mixed $data = null) static 查詢單個記錄

再把這哥們加上去,明白了他們不是同一個山寨的榛丢。不過是搭伙過日子铲球。這個時候,再去理解在where里面加上閉包晰赞,很舒服稼病,很自然。

where里面加上個閉包

$data  = Db::table('banner_item')
            ->where(function ($query) {
                $query->where('id', 'eq', $id);
            })
            ->select();

where里面宾肺,是一個匿名函數(shù)溯饵。函數(shù)很熟悉,匿名函數(shù)不過是少了個函數(shù)名稱锨用。

然后呢?傳過來一個參數(shù)隘谣,這個參數(shù)便是query對象了增拥。有了query對象,函數(shù)里面的寫法便和上面一樣了寻歧,想怎么寫就怎么寫了掌栅。我們也知道為什么里面不能鏈上find()或select()了。

最后码泛,便是條件里面如何傳進去參數(shù)猾封,加上use ($id)

$data  = Db::table('banner_item')
            ->where(function ($query) use ($id){
                $query->where('id', 'eq', $id);
            })
            ->select();

如果再加上我們知道,where有三種寫法:表達式法噪珊,數(shù)組法晌缘,然后閉包法。這樣痢站,對理解便更深刻了磷箕。

會寫代碼是一種技巧,但是透過現(xiàn)象看本質(zhì)阵难,學其它東西時岳枷,會更好的接受∥亟校或者提升一個檔次空繁,這種思維很最重要。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朱庆,一起剝皮案震驚了整個濱河市盛泡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌椎工,老刑警劉巖饭于,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜀踏,死亡現(xiàn)場離奇詭異,居然都是意外死亡掰吕,警方通過查閱死者的電腦和手機果覆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殖熟,“玉大人局待,你說我怎么就攤上這事×馐簦” “怎么了钳榨?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纽门。 經(jīng)常有香客問我薛耻,道長,這世上最難降的妖魔是什么赏陵? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任饼齿,我火速辦了婚禮,結(jié)果婚禮上蝙搔,老公的妹妹穿的比我還像新娘缕溉。我一直安慰自己,他們只是感情好吃型,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布证鸥。 她就那樣靜靜地躺著,像睡著了一般勤晚。 火紅的嫁衣襯著肌膚如雪枉层。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天运翼,我揣著相機與錄音返干,去河邊找鬼。 笑死血淌,一個胖子當著我的面吹牛矩欠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播悠夯,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼癌淮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沦补?” 一聲冷哼從身側(cè)響起乳蓄,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎夕膀,沒想到半個月后虚倒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體美侦,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年魂奥,在試婚紗的時候發(fā)現(xiàn)自己被綠了菠剩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡耻煤,死狀恐怖具壮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哈蝇,我是刑警寧澤棺妓,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站炮赦,受9級特大地震影響怜跑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吠勘,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一妆艘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧看幼,春花似錦、人聲如沸幌陕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽搏熄。三九已至棚唆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間心例,已是汗流浹背宵凌。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留止后,地道東北人瞎惫。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像译株,于是被迫代替她去往敵國和親瓜喇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,798評論 0 38
  • 看了一下源碼(Query.php)之后歉糜,總結(jié)一下乘寒,所有的查詢執(zhí)行方法(select,find等),在傳入一個匿名函...
    377b79b94683閱讀 7,498評論 0 3
  • 那些被吹上天的“豬”烂翰,摔死了。 文 青山先生 閱讀聊齋十分鐘蚤氏,予你一個刷新三觀的人生甘耿! 01 如果我問你,請在三秒...
    青山聊齋閱讀 458評論 0 0
  • 文/陳安若 起個大早去坐車瞧捌,神清氣爽走路中棵里,前方一大叔騎著車迎面而來,到我跟前竟然說了一聲hello姐呐,我面無表情直...
    陳安若閱讀 1,178評論 3 3
  • 一步一步殿怜,春天的腳步就這樣越來越近,清明假期出門祭祖才發(fā)現(xiàn)曙砂,“忽如一夜春風來”這個“忽”字用的有多妥帖头谜。昨天還是一...
    小西丫頭閱讀 626評論 0 0