2016-08-02 13 views
0

Ich benutze Laravel 5.2 und ich versuche, einen benutzerdefinierten Link aus meiner Sicht zu meinem AdminOfficesController zu bekommen. Aus irgendeinem Grund gibt es mir nur eine leere Seite ohne Fehler oder was auch immer. Habe versucht, es mit den Docs, Stackoverflow und Debugging zu debuggen, aber ich habe keine Ahnung, warum es nicht funktioniert. Jede Hilfe wird geschätzt.Laravel Route benutzerdefinierte Route anstelle der Ressource

Aus meiner Sicht habe ich den folgenden Link:

    <a href="{{ url('admin/offices/' . $customer->id) }}"> 
         <div class="float-left"> 
          <button class="btn btn-success btn-xs">Create office</button> 
         </div> 
        </a> 

In meiner Routen habe ich den folgenden Code:

Route::get('/', function() { 
    return view('/auth/login'); 
}); 

Route::auth(); 

Route::get('/home', '[email protected]'); 


Route::resource('admin/users', 'AdminUsersController'); 
Route::resource('admin/customers', 'AdminCustomersController'); 
Route::resource('admin/offices', 'AdminOfficesController'); 
Route::resource('admin/labourentries', 'AdminLabourentriesController'); 
Route::resource('admin/labourtypes', 'AdminLabourtypesController'); 
Route::get('/admin/dashboard', '[email protected]'); 
Route::get('admin/offices/{customer_id}/create', '[email protected]'); 

Und mein Controller enthält den folgenden Code:

public function create() 
{ 
    echo "hi"; 
    return view('admin.offices.create'); 
} 

Vermutlich vermisse ich etwas sehr Einfaches in meiner Sicht oder Routendatei, aber ich sehe es ehrlich gesagt nicht. Die anderen Funktionen meines Controllers wie Index usw. funktionieren einwandfrei.

Danke für die Hilfe. Rodney

Antwort

0

Sie Ihre Routen nennen könnte:

Route::get('/admin/offices/{customer_id}/create', [ 
 
    'as' => 'admin.offices.customer.create, 
 
    'uses' => '[email protected]' 
 
]);

Und es so

<a href="{{URL::route('admin.offices.client.create', array($customer->id))}}">
verwenden 210

+0

Es funktionierte wie ein Charme. Vielen Dank –

+0

Sie sind willkommen, tatsächlich Md. Sahadat Alfo catched einen Fehler, den Sie gemacht haben. Aber benannte Routen ist der Weg zu gehen, also ist dies vorzuziehen – Borjante

0

Ändern Sie Ihre HTML-Code

<a href="{{ url('admin/offices/' . $customer->id.'/create') }}"> 
         <div class="float-left"> 
          <button class="btn btn-success btn-xs">Create office</button> 
         </div> 
        </a> 
1

Ihre Taste ist:

   <a href="{{ url('admin/offices/' . $customer->id) }}"> 
        <div class="float-left"> 
         <button class="btn btn-success btn-xs">Create office</button> 
        </div> 
       </a> 

Ihr Weg ist:

admin/offices/{customer_id}/create

Sie vergessen /create

Ich würde empfehlen Sie für Ihre Routen Namen zu verwenden (mehr Laravel docs), da, wenn Sie die URL wird jede Route ändern, ohne Änderungen die neue URL haben