2016-03-26 8 views
2

私はlaravel 5.2を使用しています。 私は私のroutes.phpファイルでこれらのコードを持っている:laravel5ルートキーを生成

Route::(['dashboard'=>'DashboardArticelController',]); 

とlaravel私のアプリのためのいくつかのルータを生成します。

GET /ダッシュボード/私-記事のApp \のHttp \コントローラ\ DashboardArticelController @ getMyArticles

ここ

は私のコントローラのメソッドです:

public function getMyArticles() 
{ 
    //$articels = Auth::user()->articals()->latest('published_at')->get(); 
    //dd(Auth::user()->articals()->latest('published_at')->simplePaginate(3)); 
    $articels = Auth::user()->articals()->latest('published_at')->Paginate(5);  
    return view('dashboard.view.dashboardArticelEdit',compact('articels')); 
} 

iはlaravel5はこのルートを生成する方法だろう、私はGE法ができたことができませんメソッド名でルートをネールします。

答えて

0

デフォルトでは、LaravelはEloquentモデルがid列を使用してURLセグメントにマッピングする必要があると仮定します。しかし、いつもそれがスラッグにマップされることを期待すればどうでしょうか?

EloquentはIlluminate \ Contracts \ Routing \ UrlRoutableコントラクトを実装しています。つまり、すべてのEloquentオブジェクトにはURLからルックアップするために使用する列を定義するgetRouteKeyName()メソッドがあります。デフォルトでは、これはIDに設定されていますが、任意の雄弁モデルにこれをオーバーライドすることができます。

class Test extends Model 
{ 
    public function getRouteKeyName() 
    { 
     return 'slug'; 
    } 
} 
+0

私はこのなステートメントを追加するときに、クラスRouteServiceProviderのメソッド「ブーツ」は、存在したthanks.but:ます$ router->モデル( 'one'、 'App \ Articles'); ($ article) 'というメソッドにモデルオブジェクトのApp \ Articlesを渡しますが、' Route ::(['dashboard' => 'DashboardArticelController'、]); 'メソッドをいくつか生成します{1?}/{tow?}/...キー{1?}を{articles?}に変更するにはどうすればいいですか?Routeで他のルートを生成したいので::コントローラ([])。彼らは両方とも 'path/{one?}/{two?}/...'というルートを生成します。 – vaxilicaihouxian

+0

暗黙のルートモデルをバインドする必要がありますこの記事を参照してくださいhttps://mattstauffer.co/ blog/implicit-model-in-laravel-5-2。あなたは良いアイデアを得るでしょう。 –

関連する問題