Я изучаю Laravel 5 и нашел то, чего не понимаю. Если я поставлю этот код для маршрутизации, то все будет хорошо:
Route::bind('addresses', function($value, $route) {
return App\Address::find($value)->first();
});
Но без этого я получил:
Упс, похоже, что-то пошло не так. 1/1 ReflectionException в
Строка Container.php 736: Адрес класса не существует
ошибка.
Мои маршруты:
Route :: model (‘address’, ‘Address’);
Route :: resource (‘address’, ‘AddressesController’);
Мои адреса Контроллер:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Address;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class AddressesController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
$addresses = Address::all();
return view('addresses.index', compact('addresses'));
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param Address $address
* @return Response
*/
public function show(Address $address)
{
return view('addresses.show', compact('address'));
}
У меня вопрос, почему я получаю код ошибки, если я не привязываю значение идентификатора непосредственно в моем маршруте. Laravel говорит, что с помощью RESTful Resource Controller я автоматически получил адреса / {address} с ID, но, похоже, нет. Любая идея? Спасибо за вашу помощь.
Route::model
занимает полное имя класса. Route::model('addresses', 'App\Address');
Других решений пока нет …