我将有一个表格,其中包含涉及其他表格(关系)的信息。此表中的大多数信息仅包含引用相关表的ID。如果我使用"产品"作为此表的示例,对于某些列,它可能看起来像这样:
init
我试图采用这种"产品"表并将其转储到列表中。当我将其转储出来时,我需要查找这些列中的所有项目(关系)。我知道怎么做belongsToMany和hasMany,但我不知道如果我有一个"产品"我不知道怎么能用Eloquent模型一次性完成这个。模型?我应该只将产品表作为数据透视表吗?我可以使用Eloquent模型执行此操作,还是应该直接使用查询生成器?我想如果我使用withPivot它会返回额外的列,但是来自列的原始ID值。我需要从各自的表(关系)中查找值。
尝试过这样的事情:
id | name | type_id | price_id | location_id | sale_id
----------------------------------------------------------------
1 | prod1 | 1 | 1 | 2 | 4
2 | prod2 | 2 | 1 | 1 | 1
3 | prod3 | 3 | 2 | 6 | 2
4 | prod4 | 1 | 2 | 3 | 4
答案 0 :(得分:0)
正如@BagusTesa所建议的,你应该急切地加载你的关系:
$products = Product::with(['type', 'price', 'location'])->get();
这将查询相关模型,允许您将其作为模型属性访问:
foreach ($products as $product){
// $product->type;
// $product->price;
// $product->location;
}