當(dāng)前位置:
首頁 >
二十八、PHP框架Laravel学习笔记——模型的关联查询
發(fā)布時(shí)間:2024/7/5
39
豆豆
生活随笔
收集整理的這篇文章主要介紹了
二十八、PHP框架Laravel学习笔记——模型的关联查询
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
二.關(guān)聯(lián)查詢
//下面兩種查詢是一樣的;
//可以采用 where 篩選或閉包
$books = User::find(19)->book() ->where('id', 1)->orWhere('id', 11)->get(); $books = User::find(10)->book()->where(function ($query) { $query->where('id', 1)->orWhere('id', 11); })->get();//獲取存在關(guān)聯(lián)書籍的用戶列表(言下之意:至少一本書)
//獲取存在關(guān)聯(lián)書籍(并超過 3 條)的用戶列表
$users = User::has(‘book’,’>=’, 3)->get();
return $users;
//whereHas 閉包用法
//獲取不存在關(guān)聯(lián)書籍的用戶列表,閉包用法:whereDoesntHave()
//關(guān)聯(lián)統(tǒng)計(jì),會(huì)自動(dòng)給一個(gè) book_count 字段
//統(tǒng)計(jì)每個(gè)用戶有多少本書
//給多個(gè)關(guān)系添加統(tǒng)計(jì):profile_count,book_count
$users = User::withCount(['profile', 'book'])->get(); return $users;//關(guān)聯(lián)統(tǒng)計(jì)再結(jié)合閉包進(jìn)行篩選,還可以設(shè)置別名
$users = User::withCount(['profile', 'book' => function ($query) { //這里限制被統(tǒng)計(jì)的記錄 $query->where('user_id', 19); }])->get(); return $users;
總結(jié)
以上是生活随笔為你收集整理的二十八、PHP框架Laravel学习笔记——模型的关联查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移动端WEB开发之响应式布局(响应式开发
- 下一篇: 三、PHP基础——HTTP协议 文件编