laravel Query Builder 不返回任何内容


laravel Query Builder return nothing

我尝试比较 2 个数组。 1 来自 input::get,1 来自查询生成器。这是我的代码:

for ($k = 0; $k < $count; $k++) 
    { 
        $answer[] = Input::get('radio'.$k);
        $answerid[] = Input::get('input'.$k);
        $numberchoice[] = DB::table('numbers')->whereIn('questionid', array($answerid))->pluck('status');
        if ($answer == $numberchoice) 
        {
            $result[] = "1";
        }
        else
        {
            $result[] = "0";
        }
    }

    var_dump($answer); echo "<br>";
    var_dump($answerid); echo "<br>";
    var_dump($numberchoice); echo "<br>"; 
    $result = implode("%", $result);
    var_dump($result); echo "<br>"; 
    die();

尝试 vardump 每个数组以查看我得到了什么。我认为问题出在它一直不给我回报$numberchoice。尽管$answer和$answerid正确返回。

array(5) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "0" [4]=> string(1) "1" } 
array(5) { [0]=> string(1) "3" [1]=> string(1) "6" [2]=> string(1) "8" [3]=> string(1) "1" [4]=> string(1) "2" } 
array(5) { [0]=> int(1) [1]=> NULL [2]=> NULL [3]=> NULL [4]=> NULL } 
string(9) "1%0%0%0%0" 

请帮忙。谢谢。

据我所知,$answerid已经是一个数组。但是当你调用->whereIn('questionid', array($answerid))时,你正在将现有的数组包装到另一个数组中。正确的调用位置是->whereIn('questionid', $answerid)