从关系中获取记录 - 拉拉维尔雄辩


Get record from relation - laravel eloquent

我有两个表

产品属性

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

产品

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

现在我想获取商家 id = 5 的特定产品的所有属性。任何人都帮助我建立laravel雄辩的查询。

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

请帮我解决这个问题。

您可以通过急切地加载其属性来获取所有必需的Products,如下所示:

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

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