2015-11-07 35 views
1

我在Controller已經一個方法:傳遞參數給Laravel指定者()雄辯型號

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

Model我:

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

我如何傳遞一個變量,這個toArray()方法將其附加到Model? 類似這樣的:$array['matched'] = $query 我無法將$query直接傳遞給toArray($query)。任何其他方式?

回答

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 
    ); 
}