当用户访问主页时,我需要执行3次查询。
public function index()
{
$slider = \App\Slider::select("title", "poster", "link", "sub_title")->translate()->orderBy("created_at", "asc")->get();
$services = \App\Page::getPage(24)->tabs()->translate()->get();
$partners = \App\Partner::select('id', 'title', 'link')->translate()->get();
return view('Front/index', compact('slider', 'services', 'partners'));
}
正如您所看到的,我需要从滑块获取图像,获取页面数据并获取一些公司合作伙伴信息。所以我执行3个quires来得到我想要的东西。有没有办法只进行一次查询并将所有这3个quires合二为一?我想在php中使用multi_query
函数。无论是在eloquent还是查询构建器中。
附:我没有雄辩的关系,这些数据并不相互关联
答案 0 :(得分:1)
将您的查询放在$qry=DB::select("your_query");
return view('your_view',compact('qry'));
你也可以看到以下更好的unterstand
$emp_id="5623";
$var_start_date=$request->startdate;
$data_query= DB::select("SELECT orinfo.*,
chinfo.name as chname
FROM order_info orinfo, ch_info chinfo
WHERE orinfo.ch_id= chinfo.ch_id
AND orinfo.emp_id= ?
AND
to_char(orinfo.order_Date,'mm/dd/yyyy') BETWEEN ? AND ? order by orinfo.order_Date desc",[$emp_id,$var_start_date,$var_end_date]);