Как передать дополнительные параметры с помощью laravel с функцией - PullRequest
0 голосов
/ 04 июля 2018

Как мы можем передать дополнительные параметры с помощью Laravel с помощью функции. Я попробовал следующий код, но не повезло.

$endpoints = MyModel::with(['myrelation' => function($q) use ($extraParams) {
    foreach ($extraParams as $param)
    {
        $q->orWhere('ia.paramCode','like',$param.'%');
    }
}])->get();

Когда я использую этот код, он показывает следующую ошибку

Cannot use lexical variable $extraParams as a parameter name

Заранее спасибо

1 Ответ

0 голосов
/ 04 июля 2018

Это происходит в PHP 7, когда вы передаете одну и ту же переменную дважды (use ($extraParams). Простое исправление - переименовать (use ($extraParams) в (use ($someThingElse)

$endpoints = MyModel::with([
    'myrelation' => function($q) use ($extraParams){
        foreach ($extraParams as $param) {
            $q->orWhere('ia.paramCode','like',$param.'%');
        }
    }
])->get();

Это ошибка в PHP 7, применяемая для быстрого исправления.

...