在laravel中一次执行多个quires

时间:2016-11-19 18:05:36

标签: php mysql laravel laravel-5

当用户访问主页时,我需要执行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还是查询构建器中。 附:我没有雄辩的关系,这些数据并不相互关联

1 个答案:

答案 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]);