在laravel中一次执行多个查询 [英] execute multiple quires at once in laravel

查看:543
本文介绍了在laravel中一次执行多个查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当用户进入主页时,我需要执行3次查询.

I need to execute 3 quires when user comes to main page.

 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要求得到我想要的.有没有办法只进行一个查询并将所有这三个查询合并为一个?我想要类似php中的multi_query函数.不管是雄辩的还是查询构建的. p.s.我的关系并不雄辩,这些数据彼此之间没有联系

as you can see, I need to get images from slider, take page data and take some company partners info. so i execute 3 quires to get what i want. is there way to make only one query and union all these 3 quires in one? I want something like multi_query function in php. no matter it would be in eloquent or query builder. p.s. I don't eloquent relationships, these data aren't related to each other

推荐答案

只需将您的查询放入$qry=DB::select("your_query");

 return view('your_view',compact('qry'));

您也可以看到以下内容,以更好地理解

you can see following also for better 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]);

这篇关于在laravel中一次执行多个查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆