我在一個欄位中做了一個唯一的驗證,所以例如我輸入 "pizza",而 "pizza "已經存在,所以它自動不作業,但如果我輸入 "Pizza",字母 "p "是大的,它仍然通過,我如何解決它?
所以我希望在驗證時他不注意小寫或大寫。
這是我現在的代碼:
這是我的代碼。
$exists = Category::where(Str:: lower('name'), '=', Str::lower(require('name')))->orderBy('name')-> first()。
if ($exists) {
return redirect()->route('categories.index')->with('error', 'Nama kategori sudah ada')。
} else {
Category::create(request()->all())。
uj5u.com熱心網友回復:
Str::lower()實際上在這里沒有為你做什么,因為它只是回傳字串'name',然后作為第一個引數傳遞給Builder::where()函式。
你可以做的是利用Builder::whereRaw()函式的優勢,做一些類似于以下的事情
Category::whereRaw('LOWER(`name') = ?', Str::lower(request('name'))-> first()
但是Eloquent build也可以作業,如果你做類似的事情(不要使用=符號)
Category::whereName(require('name'))->first()
或者
Category::where('name', request('name'))-> first()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/311793.html
標籤:
