Arrays 语法错误,意外'-&燃气轮机';拉威尔雄辩

Arrays 语法错误,意外'-&燃气轮机';拉威尔雄辩,arrays,laravel,collections,eloquent,Arrays,Laravel,Collections,Eloquent,我有一个: $questions = Question::where('isenabled', '=', 'Yes')->orderBy('sortorder', 'asc')->get(); $mutuals = Mutual::all(); foreach ($questions as $key => $value) { $mutuals = Mutual::where('question_id_1', '=', $value->id)->orWh

我有一个:

$questions = Question::where('isenabled', '=', 'Yes')->orderBy('sortorder', 'asc')->get();

$mutuals = Mutual::all();

foreach ($questions as $key => $value) 
{
    $mutuals = Mutual::where('question_id_1', '=', $value->id)->orWhere('question_id_2', '=', $value->id)->first();
    if(count($mutuals) >= 1)
    {
        echo "Matched->";
        $filtered = $questions->reject(function ($questions) use ($value->id) {
            return $questions->id ==  $value->id;
        });
    }
错误出现在
$questions->reject
行。我做错了吗?我只是跟着


基本上,这将根据
$questions->id

删除集合/数组中的某个元素。问题似乎出在这一行

$filtered = $questions->reject(function ($questions) use ($value->id) {
导致

Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ',' or ')'
如果你把它改成

$filtered = $questions->reject(function ($questions) use ($value) {
它应该和我通过语法检查看到的东西一起工作


似乎您仍然希望访问对象属性,因此这在您的情况下应该没问题。

谢谢,现在可以了。我想你可以直接传递$value->id。呵呵