Laravel中查询多个条件时如何正确书写?
laravel 查询多个条件时应如何书写
在 laravel 中进行查询时,可以使用 where 方法来指定查询条件。当需要指定多个条件时,可以将多个 where 方法串联起来。
但需要注意,多个 where 方法串联默认使用的是 and 条件,即所有条件都必须满足。
问题示例
根据以下代码,尝试查询 uid 为 $share 且 openid 为 $openid 的数据,却得到空结果:
user::where('uid',$share and 'openid',$openid)->get();
正确写法
要正确地查询多个条件,需要将两个 where 方法分开写,使用如下代码:
User::where('uid', $share)->where('openid', $openid)->get();
原因解释
在第一个代码示例中,and 操作符被用作字符串连接符,而不是查询条件。因此,查询条件实际上是 uid=($share and openid),这显然不会得到任何匹配结果。
在第二个代码示例中,两个 where 方法分别指定了 uid 和 openid 条件,默认使用 and 关系。因此,只有同时满足这两个条件的数据才会被查询出来。