這是本地SQL:laravel的等價查詢是什麼?
$sql = "Select count(name) from users Where email = '[email protected]' and user_id = 10";
我有這樣的laravel代碼:
$checker = Customer::whereEmailAndUserId("[email protected]",10)->count("name");
這是做在laravel以正確的方式?
這是本地SQL:laravel的等價查詢是什麼?
$sql = "Select count(name) from users Where email = '[email protected]' and user_id = 10";
我有這樣的laravel代碼:
$checker = Customer::whereEmailAndUserId("[email protected]",10)->count("name");
這是做在laravel以正確的方式?
你試圖打開的選項是不正確
這裏是正確的選擇的
$users = \App\Customer::where('email','[email protected]')
->where('user_id',10)
->count()
解釋上面的代碼
App\Customer
是模型類,我想讀的記錄where email = '[email protected]
可以使用各種比較運算符如<
,>
等,還可以使用相同的函數進行字符串模式匹配
例如:
$users = \App\Customer::where('email','%t.com')
->where('user_id',10)
->count()
您可以使用相同的where
功能空值測試也
EG。
$users = \App\Customer::where('email','=', null)
->where('user_id',10)
->count()
上述where子句將被轉換到SQL的is null
測試
可以讀取更多here
必須使用where
輔助函數,並通過檢查的陣列。例如,在您的代碼中,它將是:
$checker = Customer::where([
['email', '=', '[email protected]'],
['user_id' '=', '10']
])->count();
注意:請在表格中使用適當的列名稱。
假設Customer
模型代表表users
,你會得到的查詢與這樣的口才:
Customer::where('email', '[email protected]')->where('user_id', 10)->select(\DB::raw('count(name)'))->get();
這是錯誤的,你沒有在計數內列名指定 - '計數(名稱)' 。檢查我的sql查詢。 – PinoyStackOverflower