У меня есть форма поиска в навигационной панели моего приложения Laravel 4. Когда кто-то вводит в поиск и отправляет запрос, я хочу, чтобы запросы выполнялись только на основе того раздела, на котором они находятся. Например, если они находятся на странице блога, я хочу, чтобы он возвращал только сообщения в блоге, и если они находятся на странице пользователей, я хочу, чтобы он отображал только список пользователей.
Если мне что-то не хватает (возможно, возможно, поскольку я новичок в Laravel!), я могу это сделать, используя getCurrentRoute() → getPath(). Но я должен сделать это из формы, потому что, когда я пытаюсь сделать это в контроллере, у него больше нет старого маршрута. Итак, я создал скрытое поле в моей форме:
{{ Form::hidden('route', '{{{Route::getCurrentRoute()->getPath()}}}') }};
Однако, "getCurrentRoute() → getPath()" никогда не оценивается должным образом. Поле формы буквально печатает его:
<input name="route" type="hidden" value="<?php echo e(Route::getCurrentRoute()->getPath()); ?>">
Кто-нибудь знает способ заставить это работать, или есть лучший способ сделать это, что я полностью потерял? Опять же, я не могу вставить это в контроллер, как обычно, потому что в этот момент маршрут был отправлен на
// Search
Route::post('search', array('as' => 'search', 'uses' => '[email protected]'), function(){
});
В этот момент всегда считается, что имя маршрута - "поиск".