【问题标题】:syntax error, unexpected '->' Laravel Eloquent语法错误,意外的 '->' Laravel Eloquent
【发布时间】:2016-04-18 07:39:49
【问题描述】:

我有一个:

$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 行。我做错了吗?我只是关注

https://laravel.com/docs/5.1/eloquent-collections

基本上这将删除基于$questions->id的集合/数组中的某个元素

【问题讨论】:

    标签: arrays laravel collections eloquent


    【解决方案1】:

    问题似乎出在这一行

    $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 。呵呵
    猜你喜欢
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-03-13
    • 2017-06-15
    • 1970-01-01
    • 2016-02-09
    • 2014-12-03
    • 1970-01-01
    相关资源
    最近更新 更多