<記錄>TP5 關聯模型使用
阿新 • • 發佈:2018-07-22
elong isp sele aso comm 商品 數據庫設計 left list
在數據庫設計中,常常會有如下這種關聯模型,分類表中一條分類對應多個商品表中的商品
如果要獲得分類表中每條分類 以及 對應的商品的信息,則需要先查詢分類表中的數據,然後根據結果遍歷查詢商品表,最後把數據拼接在一起
TP5中關聯模型可以解決這一問題
先創建分類表模型 /application/common/model/Category.php 以及商品表模型 /application/common/model/Goods.php
在分類表中創建關聯
namespace app\common\model; class Category extends Base { public functiongoods(){ return $this->hasMany(‘Goods‘,‘category_id‘,‘id‘); } }
接著就可以使用關聯模型查詢數據
public function list(){ return CategoryModel::with(‘goods‘)->where(true)->select(); }
除了一對多 還可以創建 多對多 一對一
//一對一 hasOne(‘關聯模型‘,‘外鍵‘,‘主鍵‘); //多對多 belongsToMany(‘關聯模型‘,‘中間表‘,‘外鍵‘,‘關聯鍵‘);
<記錄>TP5 關聯模型使用