首页 > 解决方案 > 查询:等于值不等于

问题描述

欢迎

我正在使用 Laravel 6.6.2,我想执行我的查询。如果我在 MySql-workbench 中执行我的查询(使用 sql fromat),那将起作用。我有以下问题,2个等于值不相等。

$myId = DB::table("masterTable")
    ->select("ass_group_user.group_pgr_id","group.pgr_id")
    ->leftJoin("user","user.status_flag","=","gen_client.status_flag")
    ->leftJoin("group","group.pgr_foreign_key","=","gen_client.id")
    ->leftJoin("ass_group_user","ass_group_user.user_id","=","user._id")
    ->Where("user.name","=","myName")
    ->Where("ass_group_user.group_pgr_id","=","group.pgr_id")
->get();

返回空数组。
如果我真的写它而不是 "Where("ass_group_user.group_pgr_id","=","group.pgr_id")"

->Where("ass_group_user.group_pgr_id","=",6)
->Where("group.pgr_id","=",6)

返回我想要的。
他们俩都是Int。

谢谢

标签: mysqlsqllaravellaravel-6laravel-6.2

解决方案


评论太长了。

如果两列都是整数,我看不出这是怎么发生的。但是,如果它们是字符串,您可能会遇到如下情况:

'06' = 6
'006' = 6

但:

'06' <> '006'

那是因为在数字和字符串的混合比较中,字符串被转换为数字。


推荐阅读