【问题标题】:Get record from relation - laravel eloquent从关系中获取记录 - laravel eloquent
【发布时间】:2016-04-28 15:56:40
【问题描述】:

我有两张桌子

产品属性

 - ID (PK) 
 - ProdID (FK) 
 - AttrName

产品

 - ID (PK)
 - ProdName
 - MerchantID(FK)

现在我想获取商家 ID = 5 的特定产品的所有属性。 任何人都可以帮助我在laravel eloquent 中构建查询。

我创建了自己,但它显示了所有带有商家的产品的所有属性,并且在商家 ID 不是 5 的产品数组中显示为空。

请帮我解决这个问题。

【问题讨论】:

    标签: php laravel-5 eloquent


    【解决方案1】:

    您可以通过像这样急切地加载它们的属性来获取所有必需的Products:

    $products = Product::where('id', '>', 5)->get()->load('productAttributes');
    

    我认为代码 sn-p 是不言自明的。要仅选择一种所需产品,您可以将Product::where('id', '>', 5) 替换为Product::find(5)(或替换为Product::findMany([1, 2, 3]) 以获得多个产品)。

    【讨论】:

    • 感谢您的回复。我想根据传递的商家 ID 获取产品属性数组。我有商家 ID,我想获取产品属性数组
    • 为此,您只需Merchant::find(5)->products()->get()。换句话说,您需要先检索该商家,然后才能获取他的产品。为特定商家拨打 products() 会为您提供仅与该商家关联的产品。
    • products() 是从哪里来的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 2013-12-14
    • 2017-01-12
    相关资源
    最近更新 更多