Маршрут [companies.show] не определен - PullRequest
0 голосов
/ 08 мая 2018

Я получаю эту ошибку (маршрут [companies.show] не определен.), И я не знаю, что делать. На самом деле я обновляю данные в CompaniesController и данные обновляются, но маршрут не работает Вот код для этого:

public function update(Request $request, Company $company){
$companyUpdate = Company::where('id', $company->id)->update(['name'=> $request->input('name'),'description'=> $request->input('description')]);
if($companyUpdate){
return redirect()->route('companies.show', ['company'=> $company->id])
      ->with('success' , 'Company updated successfully');
    }
 return back()->withInput();

И мой файл web.php выглядит следующим образом:

Route::get('/', function () {
return view('welcome');});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('/company','CompaniesController');

Заранее спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

companies.show не определено, потому что вы не дали название вашему маршруту.

Route::get('/companies/{id}', 'CompaniesController@showCompanyForID')->name('companies.show');

Создайте функцию с именем showCompanyForID в вашем CompaniesController и верните компанию, у которой есть идентификатор, запрошенный в вашем запросе.

use Illuminate\Http\Request;

public function showCompanyForID(Request $request)
{
    $id = isset($request->id) ? $request->id : 0;
    if ($id) {
        // do work here
    }
    return view('companies.company')->with(compact('var1', 'var2'));
}

Теперь вы можете перенаправить на этот маршрут:

return redirect()
  ->route('companies.show')
  ->with(['company'=> $company->id, 'success' => 'Company updated successfully']);

Чтобы увидеть все маршруты, cd к вашему проекту в cmd / Terminal и введите: php artisan route:list

0 голосов
/ 08 мая 2018

изменить companies.show на

return redirect()->route('company.show', ['company'=> $company->id])
  ->with('success' , 'Company updated successfully');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...