PHP前端开发

Laravel中查询多个条件时如何正确书写?

百变鹏仔 2天前 #PHP
文章标签 多个

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 关系。因此,只有同时满足这两个条件的数据才会被查询出来。