当前位置: 首页 > 知识库问答 >
问题:

与透视表的关系

岳华灿
2023-03-14

cart_items(id,user_id,product_id,store_id,quantity)

我的CartItem模型就像

class CartItem extends Model
{
    public function product()
    {
        return $this->belongsTo('App\Product');
    }

    public function store()
    {
        return $this->belongsTo('App\Store');
    }

}

当我调用cartitem::with('product')->get()时,我希望它返回产品数据(从product table和store_price,store_slug从store_products)返回匹配的cart_items.store_id和cart_items.product_id数据透视表“store_products”

共有1个答案

邢华清
2023-03-14

在产品模型添加中,

public function stores(){
    return $this->belongsToMany(Store::class)->withPivot('store_price', 'store_slug');
}

在存储模型添加中,

public function products(){
    return $this->belongsToMany(Products::class)->withPivot('store_price', 'store_slug');
}

然后打电话,

CartItem::with(['product.stores'])->get();
 类似资料:
  • 我有三张桌子: 类别(id、名称) 类别赛(类别赛id,锦标赛id)-- Category是可用类别列表Category_Tornament是管理员配置的类别列表Category_Tornament用户是用户已注册的类别 要获得锦标赛中的所有类别,我可以使用以下工具轻松完成: 在竞赛模型中定义归属关系 我不知道如何定义与上一个表的关系。 我需要的是用户单击几个类别,我可以运行如下操作: 我应该在哪

  • 如果我尝试以下操作,则页面正在加载: 有以下表格:-用户-user_department-部门 数据透视表用户\u部门有两个外键:-部门\u id-用户\u id 在我的用户模型中: 在我的部门模型中: 顺便说一下:以下代码正在工作: 但是我无法在不破坏我的页面的情况下获得用户的部门。 有什么想法吗?

  • 我正在创建一个应用程序,其中用户可以被分配到多个组织,组织可以有多个用户--多对多的关系。 我希望能够这样做:以及 我有表... 我有表... 呃!用户-组织,组织-用户! 和我有数据透视/映射/等。表 表有一个字段和一个字段。 Elecoquent假设并期望-但这不是我为表命名的,也不想重命名。 我设置了以下内容 用户: 然后我测试一下: 并得到以下错误: SQLState[42S02]:找不到

  • 问题内容: 我正在使用下表存储产品数据: 使用以下查询从两个表中选择记录 一切都正常工作:) 因为我动态地填充了“附加”表,所以如果查询也是动态的,那就很好了。这样,我不必每次输入新的字段名和字段值就更改查询。 问题答案: MySQL中动态执行此操作的唯一方法是使用Prepared语句。这是一篇关于它们的好文章: 动态数据透视表(将行转换为列) 您的代码如下所示: 观看演示 注意:GROUP_CO

  • 我想不出如何雄辩地处理这件事。我有一个多对多的关系,需要分配给它一对一的关系。 下面是我设计的最简单形式的基本数据库结构: 每个帐户都属于多个代理。 每个代理人都有许多账户。 每个Account_Agent(多对多数据透视表)属于收费。 我如何在雄辩的模型中定义第三种关系? 我希望能够获得如下(或类似)的“账户代理”费用: 谢谢,希望我的问题很清楚。

  • 我试图创建一个关系,通过一个名为年级的模型访问一个名为注释的表,通过年级中的学生加载 年级模型和学生模型都属于其他模型 根据我的理解,不可能访问需要透视表的hasManyThrough关系(注释没有年级标识符,只有学生标识符) 我为Laravel 4@HasManyThrough找到了这些函数,它们具有一对多关系,但它给了我一个错误类“App\illumb\Database\Eloquent\Re