【发布时间】:2019-04-25 02:07:51
【问题描述】:
我的表中有用户昵称,不区分大小写。
我尝试使用此查询从表中获取记录,但没有成功:
$user = User::whereIn('LCASE(nickname)', strtolower($nickname));
错误信息:
为 foreach() 提供的参数无效
在不区分大小写的情况下,如何通过昵称获取用户?
【问题讨论】:
-
你错过了
->first(),所以你的代码是$user = User::whereIn('LCASE(nickname)', strtolower($nickname))->first();。或者,如果您想获得收藏,请使用->get()而不是->first() -
我很累
->first()和->get()但错误没有改变。 @DestinationN -
你试过
$user = User::whereIn('LCASE(nickname)', [strtolower($nickname)]);吗? whereIn 需要一个可排列的参数。我建议将其更改为正常的 where 。 -
对不起,我错过了,你使用
whereIn而不是where就像 @AdrianHernandez-Lopez 回答的那样 -
当我尝试您的代码并
->first()返回错误消息时:Unknown column 'LCASE(nickname)' in 'where clause' (SQL: select * fromusers` whereLCASE(nickname)in (otabek) limit 1)`
标签: laravel eloquent laravel-5.7