ThinkPHP關聯預載入
預載入的作用是減少執行SQL陳述句,進而提升程式的性能,
public function join(){ //用于監聽SQL Db::listen(function ($sql, $time, $explain) { // 記錄SQL echo $sql . ' [' . $time . 's]<br>'; // 查看性能分析結果 //dump($explain); }); //$brand = Brand::all([3,4]);//未預載入 程式執行了5句SQL陳述句 $brand = Brand::with('goods')->select([3,4]);//預載入后 程式執行了4句SQL陳述句 foreach($brand as $b){ foreach($b->goods as $good){ echo $good->goods_name.":".$good->price."元<br>"; } } }
ThinkPHP關聯統計
關聯統計只能用在一對多和一對多上,一對一的話還有上面好統計的,,,關聯統計有相關的統計函式,除了whitCount()函式以外其他的統計函式都需要指定欄位!!!
統計商品對應的數量
public function join(){ $brand = Brand::withCount('goods')->select([3,4]); foreach($brand as $b){ //“方法名+_count”為系統自動生成的自動用于存盤統計的值,也可自定義 echo "品牌:"$b->brand_name."有"$b->goods_count."個商品<br>": } }
統計商品中的最大值withMax()
public function join(){ $brand = Brand::withMax('good','price')->select(); foreach($brand as $value){ echo $value->brand_name"的品牌中最貴的商品價格為:".$value->goods_max; } }
其它的統計方法
其它的統計方法有一下幾種,其使用方法與上面類似
| 關聯統計的方法 | 描述 |
withSum |
求和 |
| withAvg | 求平均值 |
| withMax | 求最大值 |
| withMin | 求最小值 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/102112.html
標籤:PHP
上一篇:TCP 三次握手與四次揮手
下一篇:ThinkPHP的視圖和模板
