2017-01-27 6 views
2

。 どうすればこの結果を得ることができますか?なにか提案を?チェック小文字と大文字の検索

私はこれを試してみましたが、その後、私は、配列を渡す必要があるのエラーが表示されます。

$data = BusinessUser::whereRaw("company_name","LIKE",'%'. $company_name .'%')->orWhereRaw("company_name","LIKE",'%'. $company_name .'%')->pluck('company_name'); 

EDIT:

私は、データベースにcompany_nameのエンコーディングを設定し

答えて

4

あなたはLOWERを使用することができます。

BusinessUser::whereRaw('LOWER(`company_name`) like ?', ['%'.strtolower($company_name).'%'])->pluck('company_name'); 
+1

strtolowerを使って会社名を小文字に変換するのもいいです – sumit

+1

@sumit thanks、編集。 –

+0

どうすればいいですか?前後に「%」を付けることはできますが、それは提案なので結果を得るために名前全体を書きたくありません。 – None

0

を何も変更したいいけませんutf8_general_ciになります。 CIは大文字小文字を区別しないことを意味します。

+0

私はそれは、配列を使用して、PHPでそれに対処するのは難しいデータベース – None

+0

を台無しにしたいいけません。単語の長さが10記号の場合、列を1024回比較する必要があります。別の答えを見てみましょう - LOWERは良い方法です。 –

0

あなたのクエリは次のようになります。

$data = BusinessUser::whereRaw("company_name COLLATE UTF8_GENERAL_CI LIKE %{$company_name}%")->pluck('company_name'); 
関連する問題