【发布时间】:2016-03-09 00:39:14
【问题描述】:
我正在开发一个具有以下雄辩模型的 laravel 应用程序
- Product hasMany('App/Sku','products_id')
- Sku 属于TO('App/Product')
我有一个控制器“ProductController”,可以使用以下代码
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.
}
现在我的问题是,这个逻辑正确吗?在这种情况下,所有逻辑都在控制器中,因为我使用雄辩的模型我为每个表都有一个模型,并且在其中定义了关系。有没有办法我可以获取产品/关联模型的所有详细信息(产品详细信息(表 1)+ Sku 详细信息(表 2)),而不是使用下面的
foreach($products as $product){
$products_id = $product->products_id;
$skus_data = Product::find($products_id)->skus;
}
我对 laravel 开发和雄辩的模型很陌生。我将使用存储库模式进行开发,在这种情况下,aboe 逻辑(产品+Sku 组合)所在的位置。
请帮忙。
【问题讨论】:
标签: php laravel laravel-5 eloquent repository-pattern