$to_email=Permission::where('price_list',$request->input('price_list'))
->where('level_one','1')
->whereIn($request ->input('customer_id'),array('permissions.customer_id'))
->join('users', 'users.id', '=', 'permissions.user_id')
->select('users.fname','users.lname','users.email')
->first();
我尝试使用whereIn,其中数据库列包含内爆数据即(1,2,3),如下面的image
所示的customer_id数据
如何使用WhereIn或查询,例如如果客户ID是2,则选择2在customer_id中的位置,并仅返回customer_id中存在2的数据
1条答案
按热度按时间yebdmbv41#
如果
$request->input('customer_id')
是一个整数,列customer_id
是string
,添加到查询:而不是
编辑:这个解决方案将得到所有id为12,20,200 ...的记录(每个包含2的数字)。
为了防止这种情况,您可以在将
customer_id
存储到数据库之前,在其开头和结尾添加,(逗号)(您的第一行的customer_id
将是",1,2,"
)。最佳实践解决方案可能是使用多对多关系,更多信息请点击此处