laravel 查询生成器 return 无
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 上,它让 return 我一无所获。虽然 $answer 和 $answerid 是 return 正确。
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 调用是 ->whereIn('questionid', $answerid)
我尝试比较 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 上,它让 return 我一无所获。虽然 $answer 和 $answerid 是 return 正确。
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 调用是 ->whereIn('questionid', $answerid)