Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 将mysql查询转换为查询生成器_Laravel_Query Builder - Fatal编程技术网

Laravel 将mysql查询转换为查询生成器

Laravel 将mysql查询转换为查询生成器,laravel,query-builder,Laravel,Query Builder,大家好,我是laravel查询生成器的新成员。 我想将此查询转换为laravel查询生成器。先谢谢你 $bo_facilities = ' SELECT a.bo_facility_code, a.bo_facility_groupcode, a.bo_number, a.bo_indYesOrNo, a.bo_indLogic, b.bo_content_facility_description FROM bo_facilities AS a RIGHT JOIN bo_conte

大家好,我是laravel查询生成器的新成员。 我想将此查询转换为laravel查询生成器。先谢谢你

$bo_facilities = ' SELECT 
a.bo_facility_code,
a.bo_facility_groupcode,
a.bo_number,
a.bo_indYesOrNo,
a.bo_indLogic,
b.bo_content_facility_description

FROM 

bo_facilities AS a 

RIGHT JOIN bo_content_facilities AS b
ON b.bo_content_facility_code = a.bo_facility_code AND b.bo_content_facility_facilityGroupCode = a.bo_facility_groupcode
WHERE a.bo_hotel_code =  "1" GROUP BY b.bo_content_facility_description'; 
我的分组方法不起作用

$join->groupBy('b.bo_content_facility_description');
这是我的全部密码 我不知道最好的办法

DB::table('bo_facilities AS a')
->select("a.bo_facility_code", "a.bo_facility_groupcode", "a.bo_number", "a.bo_indYesOrNo", "a.bo_indLogic", "b.bo_content_facility_description")
->join('bo_content_facilities AS b', function ($join) { 
    $join->on('b.bo_content_facility_code', '=', 'a.bo_facility_code'); 
    $join->on('b.bo_content_facility_facilityGroupCode', '=', 'a.bo_facility_groupcode');
    $join->groupBy('b.bo_content_facility_description');
    })
->where('a.bo_hotel_code', $hotelCode)
->get();

最后我已经解决了我的问题

$bo_facilities_raw = DB::table('bo_facilities AS a')
->join('bo_content_facilities AS b', function ($join) {
    $join->on([['b.bo_content_facility_code', '=', 'a.bo_facility_code'], ['b.bo_content_facility_facilityGroupCode', '=', 'a.bo_facility_groupcode']]); 
    })
->select("a.bo_hotel_code","a.bo_facility_code", "a.bo_facility_groupcode", "a.bo_number", "a.bo_indYesOrNo", "a.bo_indLogic", "b.bo_content_facility_description", "b.bo_content_facility_code", "b.bo_content_facility_facilityGroupCode")
->where('a.bo_hotel_code', 1)
->get();

$bo_facilities_decode = json_decode($bo_facilities_raw, true);

$remove_dupli = array_unique(array_column($bo_facilities_decode, 'bo_content_facility_description'));

$bo_facilities = array_intersect_key($bo_facilities_decode, $remove_dupli);

记录的重复在多维数组中,这就是为什么我使用array unique和array intersect键删除重复的描述。

最后我已经解决了我的问题

$bo_facilities_raw = DB::table('bo_facilities AS a')
->join('bo_content_facilities AS b', function ($join) {
    $join->on([['b.bo_content_facility_code', '=', 'a.bo_facility_code'], ['b.bo_content_facility_facilityGroupCode', '=', 'a.bo_facility_groupcode']]); 
    })
->select("a.bo_hotel_code","a.bo_facility_code", "a.bo_facility_groupcode", "a.bo_number", "a.bo_indYesOrNo", "a.bo_indLogic", "b.bo_content_facility_description", "b.bo_content_facility_code", "b.bo_content_facility_facilityGroupCode")
->where('a.bo_hotel_code', 1)
->get();

$bo_facilities_decode = json_decode($bo_facilities_raw, true);

$remove_dupli = array_unique(array_column($bo_facilities_decode, 'bo_content_facility_description'));

$bo_facilities = array_intersect_key($bo_facilities_decode, $remove_dupli);
记录的重复在多维数组中,这就是为什么我使用array unique和array intersect键来删除重复的描述