Хорошо, я искал последние пару дней и не смог найти ответ, который имел смысл. Я уверен, что это выполнимо, но не уверен, что я нахожусь над моей головой. Я новичок в Laravel 5, а также довольно новичок в PHP. Я пытаюсь отправить введенную строку из GET ['quote'] части моей (laravel collect) формы в ту же форму, которая обновляется с новым представлением под ней, в котором используется переменная GET. В основном сохраняя то, что кто-то вводит в поле поиска после обновления.Передача PHP Переменная от GET до текущей формы, если isset laravel 5
Обычно я бы просто выделил нужную переменную, если она «установлена», а затем оставит ее пустой, если она не находится в разделе «значение» = «» текстового поля. В Laravel с этой формой я не могу этого сделать из-за рендеринга дочернего представления в родительском представлении (родительский, потом ребенок), если я правильно понимаю. Есть ли какая-нибудь работа? Я готов к тому, чтобы просто сделать старое эхо в форме, если я не могу найти решение.
Заранее благодарен! Этот сайт помог мне с моими вопросами в течение последних нескольких месяцев.
Текущий вид на родительский вид.
{{ Form::open(array('url' => 'search', 'method' => 'get')) }}
{!! Form::text('query', '', [
'class' => "form-table",
'placeholder' => "Search Keywords",
'value' => "{{ $query }}"
]) !!}</td>
{!! Form::submit('Submit') !!}
{{ Form::close() }}
Код ниже формы - это передать строку текстового поля другому виду и показать его ниже этой формы. Я не знаю ни одного JS, поэтому я немного волнуюсь, вероятно, пытаясь что-то сделать, что просто не сработает.
@yield('child')
Код приведен ниже с моего контроллера.
public function getSearch(){
$title = "Page Title";
$query = "some string"; //This was set to $_GET['query'] but was failing.
return view('pages.search')->with("title", $title)->with("query", $query);
Рабочий код: Для всех, кто работает в этом вопросе
Форма Код: value = ""
был в неправильном месте на моем первоначальном виде, а поэтому я поместил $query
в соответствующий массив форм ниже.
{{ Form::open(array('url' => 'search', 'method' => 'get')) }}
{{ Form::text('query', $query, [
'class' => "form-table",
'placeholder' => "Search Keywords",
])
}}
{{ Form::submit('Submit') }}
{{ Form::close() }}
Pages Controller. Добавлен в начало моего контроллера под пространством имен.
use Illuminate\Http\Request;
Контроллер:
public function getSearch(Request $request){
$title = "Search";
$query = $request->input("query", "");
return view('pages.search', ["title" => $title, "query" => $query]);
}
Вам не нужно лезвие лексемы в значении 'value' (' {{ '&'}} ') , Если это верно в 'GET', вы должны передавать объект' Request' на контроллер и обращаться к нему таким образом – Chris
Я быстро просмотрел его и буду продолжать искать некоторые пояснения, поскольку это начинает иметь смысл, но я не совсем там. Что делать, если объект пуст, т.е. первый раз приземляется на этой странице? –