关联模型中如何使用子查询
如何在关联关系种使用 带条件的子查询?
有两个表 订单表(id,images), 图片表(id, path)
一个订单有多张图片,但images保存的格式却是 id 逗号隔开的形式,比如
{
orders: [
{
id: 14067,
images: "9392"
},
{
id: 14068,
images: "9392"
},
{
id: 14070,
images: "9383,9384,9385,9386,9387,9388,9393,9394"
}]
}
现在需要 查询orders的时候,同时返回 images 对应 的 path,ORM 能否处理?或者如何处理?
2 Comments
拿到查询结果迭代处理或者通过ORM的修改器去处理吧 多看看文档 自然就有答案了
@ling7788#1238
在图片表多加一个字段(id, order_id, path)
前提:订单对应的图片必须一张一张保存在图片表
Order模型:
public function hasManyImages()
{
return $this->hasMany(图片表模型::class, 'order_id', 'id');
}
订单控制器:
$orders = Order::where($conditions)
->with(array(
'hasManyImages')
)
->orderBy('id', 'desc')
->paginate(20);