データベースとしてOracle11があり、「like」クエリを使用したOracleでの検索では大文字と小文字が区別されます。
だから、私は私が鈍感なテキストを検索できるクエリを作りたいです。
$query = DB::table('some_table');
return Datatables::of($query)
->filter(function ($query) use ($request) {
if ($request->has('search_text')) {
$query->where(DB::raw("lower(kolom) like '%' || lower('$request->get(search_text)') || '%')"));
}
})
->make(true);
だから私は上記のようなステートメントを使用してみます。しかし、クエリの結果は次のようになります。
select * from some_table where lower(kolom) like '%' || lower('search_text') || '%' is null
クエリをエラーにする「isnull」があります。動作するクエリは次のようになります。
select * from some_table where lower(kolom) like '%' || lower('search_text') || '%'
そこから「isnull」を削除するにはどうすればよいですか?(私はlaravel 5.2を使用しています)
のwhereRaw
代わりにメソッドを使用してくださいwhere
。
return Datatables::of($query) ->filter(function ($query) use ($request) {
if ($request->has('search_text')) {
$query->whereRaw(DB::raw("lower(kolom) like '%' || lower('$request->get(search_text)') || '%')"));
}
})->make(true);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加