2015-11-07 28 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 
    ); 
}