php - laravel NotFoundHttpException appears though I have the function -



php - laravel NotFoundHttpException appears though I have the function -

i have code

<li> <a href="{{ url::to('restaurants/admins/25') }}"> <i class="fa fa-location-arrow"></i> profile </a> </li>

and in routes, have this:

route::resource('restaurants', 'restaurantscontroller');

but got error:

symfony \ component \ httpkernel \ exception \ notfoundhttpexception

could help please?

tl;dr

i suggest utilize url restaurants/25/admins instead of restaurants/admins/25 entities ordered big small, i.e. restaurants -> 1 restaurant -> restaurant's admin. so, reply i'm going use:

<a href="{{ url::to('restaurants/25/admins') }}">

then in route can do:

route::get('restaurants/{id}/admins'), 'restaurantscontroller@admins'); route::resource('restaurants', 'restaurantscontroller');

and in controller code, do:

class restaurantscontroller { // code index(), show(), etc... public function admins($id) { // whatever want laravel /restaurants/{id}/admins } }

long answer:

let me explain bit on resource controller does. in laravel, when do:

route::resource('restaurants', 'restaurantscontroller');

it more or less helper automatically expands these:

route::get ('restaurants', 'restaurantscontroller@index'); route::get ('restaurants/{id}', 'restaurantscontroller@show'); route::get ('restaurants/create', 'restaurantscontroller@create'); // there few more generated. see http://laravel.com/docs/controllers#resource-controllers

as know, first route displaying restaurants. sec route displaying specific restaurant. 3rd displaying form add together restaurant.

one note laravel simply generates routes don't need write many routes on , over. write in controller's methods (a.k.a. functions) depends totally on you. create /restaurants show form adding restaurants, , /restaurants/create show restaurants list. destroys purpose of resource controllers because it's suppose create write code easier , shorter, while still beingness understandable!

so if conform laravel does. one-line route:

route::resource('restaurants', 'restaurantscontroller');

you url reserved displaying restaurants (/restaurants), url displaying specific restaurant (/restaurants/{id}), , url form add together new restaurant (/restaurants/create). note: there 7 routes i'm mentioning 3 here brevity.

if understand correctly, trying add together feature. want page shows list admins restaurant. not fit 3 urls have yet, decided create 1 e.g. restaurants/admins/25.

my first recommendation that, when structuring url, seek arrange biggest entity smallest. original restaurants/admins/25 translates to:

restaurants > admins of restaurant > 1 restaurant

if you, go this:

restaurants > 1 restaurant > admins of restaurant

so instead of restaurants/admins/25 url be:

<a href="{{ url::to('restaurants/25/admins') }}">

can sense difference? have urls much more comprehensible:

restaurants <-- show restaurants restaurants/25 <-- show restaurant #25 restaurants/25/admins <-- show admins in restaurant #25 restaurants/create <-- show form create new restaurant

now route file needs line back upwards admins our custom action:

route::get('restaurants/{id}/admins'), 'restaurantscontroller@admins'); route::resource('restaurants', 'restaurantscontroller');

and in controller code, do:

class restaurantscontroller { // code index(), show(), etc... public function admins($id) { // whatever want laravel /restaurants/{id}/admins } }

from here on, can add together /restaurants/25/info, /restaurants/25/photos, etc. same way above.

php laravel laravel-4 blade

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

c# - Create a Notification Object (Email or Page) At Run Time -- Dependency Injection or Factory -

Set Up Of Common Name Of SSL Certificate To Protect Plesk Panel -