2013-05-27 4 views
5

Я новичок с Laravel и я сделал запрос, и у меня есть метки для поиска тоже, но я не знаю, как искать егоLaravel поисковый запрос с входного массива

запрос выглядит следующим образом

public function post_search() 
    { 
     $tags = Input::get('tag_id'); 

     $search = $this->user 
         ->with('tag') 
         ->where('username', 'LIKE', '%'.Input::get('username').'%') 
         ->where('first_name', 'LIKE', '%'.Input::get('first_name').'%') 
         ->where('last_name', 'LIKE', '%'.Input::get('last_name').'%') 
         ->where('group_id', 'LIKE', '%'.Input::get('group_id').'%') 
         ->where('tag_id', 'LIKE', '%'.$tags.'%') 
         ->paginate(22); 

     $this->layout->title = "Search results"; 
     $this->layout->content = View::make("home.results") 
           ->with('users', $search); 

    } 

И tag_id вход возвращает следующий

array(5) { 
    [0]=> 
    string(2) "20" 
    [1]=> 
    string(1) "1" 
    [2]=> 
    string(1) "3" 
    [3]=> 
    string(1) "2" 
    [4]=> 
    string(2) "15" 
} 

может понравиться кто-нибудь дать мне подсказку, как я могу реализовать теги в своих поисках?

Спасибо

EDIT

Я получаю эту ошибку с тэгами

Array to string conversion 
+0

Я запутался, что ваш вопрос именно? –

+0

отредактировал мой вопрос –

ответ

4

В запросе у вас есть

->where('tag_id', 'LIKE', '%'.$tags.'%') 

и $tags является массивом, но вы использовал его с like, так что вы получили ошибку Array to string conversion. Вы должны использовать

->whereIn('tag_id', $tags); 

Laravel Documentation.

+0

спасибо, сэр за вашу помощь –

+0

@WebStudent, Вас больше всего приветствуют :-) –

Смежные вопросы