使用 ezSQL v4 PDO 对 WHERE 条件进行分组
Grouping WHERE conditions with ezSQL v4 PDO
如何在使用 selecting
函数时对 WHERE
条件进行分组?我知道如何用标准 SQL 编写它,但我无法使用 ezSQL.
来解决这个问题
我想要的
SELECT user_id, user_password, user_password_key
FROM users
WHERE (user_login = $userData OR user_email = $userData) AND user_status=1
我试过的
$db->selecting('users', 'user_id, user_password, user_password_key',
where(eq('user_status', '1', _AND)),
where(eq('user_login', $userData, _OR ), eq('user_email', $userData )));
$db->selecting('users', 'user_id, user_password, user_password_key',
where(eq('user_status', '1')),
where(eq('user_login', $userData, _OR ), eq('user_email', $userData )));
$db->selecting('users', 'user_id, user_password, user_password_key',
$db->where(eq('user_login', $userData, _OR ), eq('user_email', $userData )),
$db->where('user_status', '1'));
$db->selecting('users', 'user_id, user_password, user_password_key',
eq('user_login', $userData, _OR ), eq('user_email', $userData ),
$db->where('user_status', '1') );
如果我删除 user_status
的条件,它会起作用,但是当它在那里时它只是 returns NULL
.
现在可以使用以下代码在 v4 中使用
$db->selecting(
'users',
'user_id, user_password, user_password_key',
where(
eq('user_status', '1'),
grouping(
eq('user_login', $userData, _OR),
eq('user_email', $userData)
)
)
);
有关 GitHub Wiki
的更多详细信息
如何在使用 selecting
函数时对 WHERE
条件进行分组?我知道如何用标准 SQL 编写它,但我无法使用 ezSQL.
我想要的
SELECT user_id, user_password, user_password_key
FROM users
WHERE (user_login = $userData OR user_email = $userData) AND user_status=1
我试过的
$db->selecting('users', 'user_id, user_password, user_password_key',
where(eq('user_status', '1', _AND)),
where(eq('user_login', $userData, _OR ), eq('user_email', $userData )));
$db->selecting('users', 'user_id, user_password, user_password_key',
where(eq('user_status', '1')),
where(eq('user_login', $userData, _OR ), eq('user_email', $userData )));
$db->selecting('users', 'user_id, user_password, user_password_key',
$db->where(eq('user_login', $userData, _OR ), eq('user_email', $userData )),
$db->where('user_status', '1'));
$db->selecting('users', 'user_id, user_password, user_password_key',
eq('user_login', $userData, _OR ), eq('user_email', $userData ),
$db->where('user_status', '1') );
如果我删除 user_status
的条件,它会起作用,但是当它在那里时它只是 returns NULL
.
现在可以使用以下代码在 v4 中使用
$db->selecting(
'users',
'user_id, user_password, user_password_key',
where(
eq('user_status', '1'),
grouping(
eq('user_login', $userData, _OR),
eq('user_email', $userData)
)
)
);
有关 GitHub Wiki
的更多详细信息