首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从关系中获取图像信息并进行优化

问如何从关系中获取图像信息并进行优化
EN

Stack Overflow用户
提问于 2022-08-31 11:19:18
回答 2查看 20关注 0票数 0

产品模型

id (栏)

产品名称(栏)

ProductGallery模型

胆囊(栏)

产品d(栏)

画廊模型

id (栏)

imagename (列)

你好,我想要这样的检索数据,我的模型在上面

代码语言:javascript
复制
"id" => 1
productname => "product 1"
galleries => {
   0 => {
         id => 1,
         imagename => 'image 1'
        }
   1 => {
         id => 2,
         imagename => 'image 2'
        }
}

如何利用关系来实现这一目标并进行优化?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-31 13:22:20

在你的模型上建立关系。

产品模型

代码语言:javascript
复制
public function galleries(){
  return $this->belongsToMany(Gallery::class)
}

在你的控制器上你可以得到这样的数据

代码语言:javascript
复制
Procuct::with('galleries')->get();
票数 0
EN

Stack Overflow用户

发布于 2022-09-01 07:59:56

对于N到N(多到多)关系,需要使用belongsToMany()方法,如:https://laravel.com/docs/9.x/eloquent-relationships#many-to-many中所述

因此,在您的产品模型中,您将得到返回关系的节()方法,如下所示:

代码语言:javascript
复制
public function galleries(){
  return $this->belongsToMany(Gallery::class);
}

类似地,在图片库模型中,您将有一个products()方法:

代码语言:javascript
复制
public function products(){
  return $this->belongsToMany(Product::class);
}

如果您只想获得产品的库,则需要创建一个product,并调用galleries()方法:

代码语言:javascript
复制
$product = Product::find(1);
$product->galleries();

或者,如果您想返回产品信息列表,包括它们的图库,您可以这样做:

代码语言:javascript
复制
$products = Products::with('galleries')->get();

检查文档,这样您就可以获得关于其他选项的完整图片,例如使用自定义字段名等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73555091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档