Передайте параметр в Laravel toArray () Eloquent Model

1

У меня есть метод в моем Controller:

function getSuggestions()
{
   $query = Input::get('query');
   $suggestions = Suggestion::where('word', 'LIKE', "$query%")->get()->toArray();
   $return $suggestions; 
}

и в Model I:

 public function toArray(){
        $array = parent::toArray();
        $array['matched'] = 'ok';
        return $array;
    }

Как передать переменную этому методу toArray() чтобы добавить его в Model? Что-то вроде этого: $array['matched'] = $query Я не могу передать $query непосредственно в toArray($query). Любым другим путем?

Теги:
laravel-5.1

1 ответ

1
Лучший ответ

Просто добавьте значение для каждого сопоставленного массива:

function getSuggestions()
{
    $query = Input::get('query');
    $suggestions = Suggestion::where('word', 'LIKE', "$query%")->get()->toArray();
    return array_map(
        function ($array) use ($query) { $array['matched'] = $query; return $array; },
        $suggestions
    );
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню