2017-04-11 27 views
1

routes\web.phpで定義されたすべてのルートを取得したいと思います。私はdd(\Route::getRoutes());しかし、getRoutes()方法は、約4つのプロパティを返します試してみました:Laravelルートコレクション取得アクションリスト

RouteCollection {#25 ▼ #routes: array:3 [▶] #allRoutes: array:43 [▶] #nameList: array:21 [▶] #actionList: array:41 [▶] }

actionList保護されてプロパティ。私は、任意の方法または

dd($query); 

その後、クエリの終了時にのみ actionList

答えて

-1

使用$query= Modelname::query()->toSql();を返すことができるが、これを試してみてくださいすることをどのような方法を知っておく必要があります。それはあなたを助けるでしょう。

$out = []; 
     foreach (\Route::getRoutes()->get() as $r){ 
     if(isset($r->action['controller'])){ 
      $out[] = $r->action['controller'];   
     } 
     } 
dd($out); 

:私は保護されたプロパティactionListを得ることができる方法を見つけることができませんでし今回ティル楽しい:)

0

を持って、私は次のように\Route::getRoutes()の出力をループに試してみましたこのようにして私はroutes\web.phpで定義されたルートを持っています。配列の長さが$outの場合は、actionList配列の長さと同じで、質問ではとなります。私の場合は41です。

0

私はこのように考えることができます。

$routeCollection = Route::getRoutes(); 

foreach ($routeCollection as $value) { 
    echo $value->getPath(); 
} 
+0

私はパスを望んでいません。 – SaidbakR

+0

あなたは何をしたいですか?ルート名?または、他の何か? –

+0

'App \ Http \ Controllers \ PostController @ index'のようなルート名ではなく、コントローラとアクションの完全な名前空間です。これは' routes \ web.php'で 'Route :: get( '/ posts'、 'PostController @ index'); ' – SaidbakR

関連する問題