所以我在互联网上搜索了类似的案例,但我只是从所有相互矛盾的答案和不相关的场景中迷失了方向。所以我想提出我的案例,希望得到一些具体的答案。
我是 Laravel 的新手,正在创建小型应用程序。在应用程序中,我必须搜索要约并在刀片视图中显示结果。由于查询很复杂,并且搜索的输出不属于特定模型,我只想将其保留为原始查询。
我已将查询放在控制器中,但我觉得它不是正确的地方。特别是如果我需要在很多地方重用查询。
这是来自 OfferController 的方法:
public function search(Request $request)
{
$area = $request->area;
$size = $request->size;
$sql = "SELECT distinct product_name,product_offer.quantity, product_offer.price
FROM product
inner join brand on product.brand_id = brand.brand_id
inner join brand_area on brand_area.brand_id = brand.brand_id
inner join area on area.area_id = brand_area.area_id
inner join product_offer on product_offer.product_id = product.product_id
where area.area_id = :area
and product.size_id = :size ";
$params = array(
'area'=>$area,
'size'=>$size
);
$offers = DB::select( DB::raw($sql), $params);
return view('searchresult')->with($offers);
}
简而言之:我应该将查询移至模型,创建 DAL 类,还是将其保留在这里?请记住,该项目规模较小。
Helenr
慕森卡
一只名叫tom的猫