【问题标题】:Convert mysql query into query builder将 mysql 查询转换为查询生成器
【发布时间】:2019-04-03 10:59:37
【问题描述】:

大家好,我是 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'; 

我的 groupBy 方法不起作用..

$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();

【问题讨论】:

    标签: laravel query-builder


    【解决方案1】:

    我终于解决了我的问题。

    $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);
    

    重复的记录在多维数组中,这就是为什么我使用数组唯一和数组相交键来删除重复的描述。

    【讨论】:

      猜你喜欢
      • 2015-12-13
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2017-12-09
      • 2017-12-29
      • 2016-08-10
      • 2019-04-22
      相关资源
      最近更新 更多