Как добавить строку запроса в представление Laravel - PullRequest
0 голосов
/ 15 февраля 2019

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

return view('cart', compact('somevar'))

Это переводит пользователя на mydomain.com/cart

Я хотел бы добавить строки запроса, например, чтобы пользователь пошел на mydomain.com/cart?id=123

Как бы я это сделал?

Ответы [ 4 ]

0 голосов
/ 15 февраля 2019

Вы можете попробовать это:

Route::get('cart/{id}', 'TicketsController@edit');

И взамен:

return view('cart/'.$id, compact('somevar'))

Также вы можете попробовать вот так:

// app/Http/routes.php
Route::get('/cart/{id}', function ($id) {
    return view('cart')->with('id', $id);
});

// resources/views/example.blade.php
The last part of the route URI is <b>{{ $id }}</b>
0 голосов
/ 15 февраля 2019

Вы можете передавать данные для просмотра следующим образом:

return view('admin-panel.leave.index')->with($data);

И $ data - это массив, который содержит несколько значений, таких как:

  $data = array('count' => '7', 'id' => '4');
0 голосов
/ 15 февраля 2019

То, что вы спрашиваете, не выполнимо при таком подходе. Потому что главная проблема в /var/www/vendor/laravel/framework/src/Illuminate/View не имеет то, что вы ищете.Единственный способ сделать это - return redirect()->route('cart', ['id' => 123]);

Если это действительно необходимо, я думаю, вам нужно перенаправить перед вызовом /cart Что-то вроде этого на ваш rootes/web:

Route::get('/addcart', 'CartsController@workaround');
Route::get('/cart', 'CartsController@showtheview')->name('cart');

Тогда в вашем CartsController :

public function workaround(){
  // your code.....
   return redirect()->route('cart', ['id' => 1]);   
}
public function showtheview(){
  //your code....
  return view('cart', compact('somevar'))
}

Надеюсь, вы поймете логику.

0 голосов
/ 15 февраля 2019

Вы можете достичь этого:

return view('cart', ['id' => $id]);

Ваши данные должны быть массивом с парой ключ-значение.

Вы также можете использовать метод with:

return view('cart')->with('id', $id);

Кроме того, вы можете использовать compact:

return view('cart', compact('id'));

Для получения дополнительной информации см. Передача данных в представления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...