Laravel运行Select Exists查询

时间:2016-06-29 15:55:39

标签: php mysql laravel fluent

我有这样的查询:

    $query = "Select EXISTS(SELECT * FROM grp_user AS pivot JOIN groups
AS g ON pivot.grp_id = g.id JOIN vote ON g.id = vote.grp_id WHERE 
pivot.grp_id = :grp_id AND pivot.user_id = :user_id)";

我想运行它。所以我试过了:

$res = DB::select($query,array("grp_id"=>250,"user_id"=>1));

res理想情况下应该有一个布尔值,但它有一个类似的数组:

[{"EXISTS(SELECT * FROM grp_user AS pivot JOIN groups AS g ON pivot.grp_id = g.id JOIN vote ON g.id = vote.grp_id WHERE pivot.grp_id = ? AND pivot.user_id = ?)":1}]

注意最后的1,即我感兴趣的值(它的1或0)。

我怎样才能做到这一点,或者以“laravel”的方式实现这个目标?

1 个答案:

答案 0 :(得分:0)

为什么不检查它是否为空:

$query = "Select * FROM grp_user AS pivot JOIN groups
AS g ON pivot.grp_id = g.id JOIN vote ON g.id = vote.grp_id WHERE 
pivot.grp_id = :grp_id AND pivot.user_id = :user_id LIMIT 1";

$res = DB::select($query,array("grp_id"=>250,"user_id"=>1));

return (count($res) > 0) ? 1 : 0;