2017-07-31 3 views
1

クエリからスラッシュを削除して、クエリがうまく動作するようにしたいと思います。Laravel5でクエリから ""を削除する方法

$str= '1','2'; 

$users = User::findMany([$str]); 

しかし、私はこの質問をエコーし​​ます。

select * from `users` where `users`.`id` in ('\'1\',\'2\''); 

ここで、これらのスラッシュをクエリから削除するにはどうすればよいですか?

+0

私はあなたの文字列が間違っている –

答えて

2

に文字列の変更に$str変数を渡す配列を必要とし、その後のようなクエリには、このダイレクトを置きますstr_replace PHPメソッドを使用して単一引用符を削除し、配列に変換して渡す値を爆発させて渡す:

$str = explode(',',str_replace("'","", $str)); 
$users = User::findMany($str); 
+0

これは私が遠くに見ていたものです、ありがとうございます@ AddWebソリューションPvt株式会社 –

+0

@KhiradBanu:これはあなたのsolution.Thx場合は喜んで、あなたは私の答えを受け入れることができます –

2

文字列を使用しないでください。あなたはこのような配列を渡すことができます:

$ids = [1,2]; 
$users = User::find($ids); 

その後、あなたはforeachのか、何か他エンと$usersを繰り返すことができます。ない場合はまず

$users = User::findMany([$str]); 

文字列を:$str= '1','2'が文字列の場合

+0

だと思いますので、私は配列にその文字列を変換する必要がある最初の意味ですか? –

+1

あなたのコードに表示されているような文字列( '$ str = '1'、 '2';')は有効なPHPではありません –

0

findMany機能を使用すると、

$str = ['1','2']; 
+0

私はまだ同じ出力を得ています –

0

あなたの文字列は次のようにある場合:

$ids = '1,2'; 

、簡単に機能を爆発PHPと配列に変換します

$ids = explodes(',',$ids); 

今、あなたの文字列がありません配列

$ids = [1,2]; 
$users = User::whereIn('id',$ids)->get(); 

ですループが必要な場合は、複数のIDに基づいて複数の結果が得られます。 あなたは、このように結果を確認することができます。

dd($users->toArray()); 
関連する問題