在做首页轮播图的时候,客户端要做的就是查询banner,返回的banner应该包含banner的各种子属性上午信息(banner_item等等),所以具体的查询过程应该是查询banner然后通过banner去关联banner的子属性(例如:banner_item)。
通过分析,数据库中banner和banner_item是一对多的关系,如何在项目中用代码来表述这种关系呢?
在banner模型中定义一个pubilc的方法
public function items(){return $this->hasMany(‘BannerItem’,‘banner_id’,‘id’);}//定义关联:hasMany函数,第一个参数是banner模型想要关联的模型名,第二个参数是关联模型的外键名称,第三个参数是当前模型的主键
如何查询关联?
$banner = BannerModel::with('items')->find($id);//查询关联,静态查询方法中采用链式方法调用with方法,with方法接收的参数是定义关联过程中定义的public的方法的方法名。
网友评论