这是本地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