Laravel雄辩的模型如何从关系表中获取数据
2022-08-30 19:42:29
我正在开发一个具有以下雄辩模型的laravel应用程序
- 产品有多种(“App/Sku”,“products_id”)
- Sku belongTO('App/Product')
我有一个控制器“产品控制器”,其中以下代码可用
public function index()
{
$products = Product::all();
foreach($products as $product){
$products_id = $product->products_id;
}
}
我正在公开RESTfull API,它将允许我的用户获取所有产品详细信息(包括skus,运输类型等)。
假设我有一个API GET :/products
获取所有产品详细信息的代码将是以下内容
public function index()
{
$products = Product::all();
foreach($products as $product){
$products_id = $product->products_id;
$skus_data = Product::find($products_id)->skus;
}
// Now I have both the product details + skus which I can bundle into an array/json.
}
现在我的问题是,这个逻辑合适吗?在这种情况下,所有逻辑都在控制器中,因为im使用雄辩的模型,我为每个表都有一个模型,并且在其中定义了关系。有没有办法获得产品/相关型号的所有详细信息(产品详细信息(在表1中)+ Sku详细信息(在表2中)),而不是使用下面的
foreach($products as $product){
$products_id = $product->products_id;
$skus_data = Product::find($products_id)->skus;
}
我对 laravel 开发和雄辩的模型很陌生。我将使用存储库模式进行开发,在这种情况下,aboe 逻辑(Product+Sku 组合)位于何处。
请帮忙。