如何在Laravel中对DB :: table区分大小写?

时间:2019-04-19 04:38:07

标签: php laravel-5 eloquent case-sensitive

我正在使用Eloquent DB :: table进行搜索,它可以正常工作,但是小写和大写都找不到。示例:当我搜索ab时,它具有结果。搜索AB,AB找不到任何东西。 我应该更改代码以使其区分大小写吗?

我正在使用PHP 7.X和Laravel 5.7,Postgres SQL

$items = DB::table('element_designs')
    ->join('elements', function($join){
        $join->on('element_designs.id', '=', 'elements.element_design_id')
            ->where('elements.deleted_at', null);
    })
    ->leftJoin('locations', function($join){
        $join->on('elements.location_id', '=', 'locations.id')
            ->where('locations.disable_flg', false);
    })
    ->leftJoin('areas', function($join){
        $join->on('elements.area_id', '=', 'areas.id')
            ->where('areas.disable_flg', false);
    })
    ->where('element_designs.disable_flg', false)
    ->where(function($query) use ($keyword){
        $query->where('element_designs.element_name', 'LIKE', '%'.$keyword.'%')
            ->orWhere('locations.location_name', 'LIKE', '%'.$keyword.'%')
            ->orWhere('areas.area_name', 'LIKE', '%'.$keyword.'%')
            ->orWhere('elements.updated_at', 'LIKE', '%'.$keyword.'%');
    })
    ->select('element_designs.id as element_design_id', 'element_designs.doc_no', 'elements.id as element_id', 'element_designs.element_name', 'locations.location_name', 'areas.area_name',
        'elements.updated_at')
    ->paginate(20);
    });

    return view('element.data', ['items' => $items]);

当我用ab,Ab或AB搜索时,我希望得到相同的结果。该怎么做?

感谢与问候, BienHV

0 个答案:

没有答案