Вопрос Laravel, как использовать _GET на блейде

#php #get #laravel-5.7

#php #получить #laravel-5.7

Вопрос:

У меня есть вопрос, который я не могу решить в данный момент.

У меня есть и URL-адрес, подобный этому: https://www.example.com/schedule/2020-02-26

я помещаю дату в URL-адрес с помощью следующей функции:

    public function newdate($datevar)
    {       
        $Dates = Dates::all();
        return view('schedule', compact('Dates'), ['Dates' => 
     $Dates]);
    } //
 

В этом примере значение $datevar равно «2020-02-26»

Мой вопрос в том, как я могу показать $datevar в моем блейде? Я пытаюсь с помощью {{$datevar}}, но я получаю сообщение об ошибке.

Чтобы поместить datevar в мою функцию, я использую и другую функцию в качестве запроса:

 public function addnewdate(Request $request){
   $datevar = $request->input('newdate');

    return redirect()->to('schedule/'.$datevar);
}
 

Спасибо за вашу помощь

Комментарии:

1. вы должны передать переменную в файл блейда при вызове функции просмотра

Ответ №1:

Решение состоит в том, чтобы зарегистрировать формат URL в web.php файле. В этом файле добавьте эту строку:

 Route::get('/schedule/{date}', [ControllerName::class, 'addnewdate']);
 

Теперь, всякий раз, когда вызывается метод контроллера, он передает дату в качестве аргумента вашему addnewdate методу, который вам нужно реструктурировать следующим образом:

 public function addnewdate($date){
    //Do sth with the date
}
 

Комментарии:

1. Да, я делаю это так и работаю, но как я могу показать дату на моем blade.php ?

2. Вы уже сделали view('schedule', compact('Dates'), ['Dates' => $Dates]); это, просто обратившись к $Dates переменной из вашего блейд-файла.

3. Нет, мне не нужны даты в долларах на моем blade.php Мне нужно увидеть $datevar на моем blade.php

4. Хорошо, так что добавьте это. return view('schedule')->with('Dates', $Dates)->with('dateVar', $datevar) .

5. Я ценю вашу помощь, сейчас работает: D