Reputation: 342
Surprisingly today, I was shocked that Laravel 8 eloquent WHERE clause is insensitive.
How can I make it sensitive again?
here is me code routes/web.php
Route::get('/{slang}', function($slang) {
$post = App\Models\Post::where('slang', $slang)->first();
if( ! isset( $post->id ) ) return redirect('/');
return
response()->json(['content' => 'Welcome to ['. $post->slang.']', 'code'=>200, 'var'=>$slang] );
});
result
content:"Welcome to [DAL51]"
code: 200
var: "dAl51"
Upvotes: 1
Views: 791
Reputation: 34688
You'll need to use DB::raw()
, something like :
App\Models\Post::where(DB::raw('BINARY slang'), $slang)->first();
Or, you can use whereRaw()
method :
App\Models\Post::whereRaw('BINARY slang=?', $slang)->first();
Upvotes: 1