微信小程序开发

小程序全栈学习-两种模型关联关系的描述和查询

2019-03-18  本文已影响28人  Answer_ccbb
小程序全栈学习-两种模型关联关系的描述和查询

这里描述两种稍微复杂一点的关联关系的实现和查询,一种是模型A同时和模型B和C关联;两一种是模型A和模型B关联,模型B和模型C关联。

第一种关联,可以再模型A中建立两个关联函数,表示关联:

public function items(){return $this->hasMany('BannerItem','banner_id','id');}

public function items1(){return $this->hasMany(‘BannerItem’,‘banner_id’,‘id’);}//items 和items1表示两个关联关系。

这种关联关系的查询:

$banner = BannerModel::with(['items','itemss1'])->find($id);//查询时with方法接收一个数组,数组的元素是定义关联关系函数的函数名。

第二种关联,可以再模型A中定义和B的关联,在模型B中定义和C的关联,定义的方法和普通定义相同。

这种关联关系的查询:

$banner = BannerModel::with(['items','items.img'])->find($id);//注意数组的第二个元素,用'.'连接两个关联函数的函数名。

另外:

表示一对多的对应关系的函数为:hasMany(‘关联模型名’,‘外键名’,'本模型主键名'),

表示一对一关系的函数为:belongsTo(‘关联模型名’,‘外键名’,'本模型主键名')。

上一篇 下一篇

猜你喜欢

热点阅读