Laravel路由控制器到刀片模板的动态路由

Laravel路由控制器到刀片模板的动态路由,laravel,controller,routing,laravel-4,blade,Laravel,Controller,Routing,Laravel 4,Blade,如何在刀片布局中显示控制器 我从MySQL导入了250条动态路由。它们是使用以下控制器生产的 公共功能寄存器单元 { //$tunings=Tuning::all;//假设您有一个模型调优 //或者你可以用这个来代替 $tunings=DB::table'guitart\u tunings\u links'->get; //现在循环所有调谐并声明路由 foreach$tuning作为$tuning { $url='/tuning/'.$tuning->tuning; $route_name='t

如何在刀片布局中显示控制器

我从MySQL导入了250条动态路由。它们是使用以下控制器生产的

公共功能寄存器单元 { //$tunings=Tuning::all;//假设您有一个模型调优 //或者你可以用这个来代替 $tunings=DB::table'guitart\u tunings\u links'->get; //现在循环所有调谐并声明路由 foreach$tuning作为$tuning { $url='/tuning/'.$tuning->tuning; $route_name='tuning.$tuning->tuning; Route::any$url,$Route_name;//您可以使用get/post } } 公共函数调优方法$tuning=null { //$tuning将包含当前的调整名称,请选中 $tuning_name=$tuning; $tuning_name=strotupper$tuning_name; $user=DB::table'guitart\u tuning\u links'->其中'tuning',$tuning\u name->first; 回响 $user->name-$tuning\u name $user->description ; } 这是我的路线

路由::任意{field},'TuningController@TuningMethod'; App::make'TuningController'->寄存器调谐; 这个控制器和路由为我提供了如下URL laravel.dev/eadbbe,它还返回有关吉他调谐的所有数据,但它不在我的模板系统中。没有使用任何样式或布局

我这里有一个刀片模板app/views/home/tuning.blade.php

我的控制器工作得很好。它从DB中获取吉他调谐的名称,并从中创建路由,然后从该行打印出所需的数据

我的问题是,我无法获得控制器的输出以及成为tuning.blade.php模板一部分的路由

我已经尝试添加以下路线

//一号干线 Route::get'tuning/{field}',函数{ 返回视图::使“home.tuning.{field}” }; //二号干线 Route::get'tuning/{field}',函数{ 返回视图::使'home.{field}' }; 我已经在Laravel docs部分广泛阅读了关于路由控制器的内容,但我觉得我不理解它,或者我遗漏了一些简单的东西

我还发现了这篇关于AdvancedRouting的文章,并试图理解和实现它,但没有用


有人能帮我了解如何着手解决这个问题吗?

您实际上不必按您现在的方式注册所有路由,因为它们可以作为一条路由来解决。据我所知,这个命令什么也没做:

Route::任意$url、$Route\u名称; 因为它不是指向控制器,它只是指向一个名称调优。什么的,这对Laravel路由器系统来说不是什么。所以,事实上,整个registerTuninguites函数什么也没做。但是你已经有了一条工作路线,它为你做了所有的工作:

Route::any('{field}', 'TuningController@TuningMethod');
也就是说,看起来您可以剪切一些代码,只需保留以下路径:

路由::任意{field},'TuningController@TuningMethod'; 您的控制器方法已在工作,但必须更改以直接渲染视图:


您实际上不必按现在的方式注册所有路由,因为它们只能作为一条路由解析。据我所知,这个命令什么也没做:

Route::任意$url、$Route\u名称; 因为它不是指向控制器,它只是指向一个名称调优。什么的,这对Laravel路由器系统来说不是什么。所以,事实上,整个registerTuninguites函数什么也没做。但是你已经有了一条工作路线,它为你做了所有的工作:

Route::any('{field}', 'TuningController@TuningMethod');
也就是说,看起来您可以剪切一些代码,只需保留以下路径:

路由::任意{field},'TuningController@TuningMethod'; 您的控制器方法已在工作,但必须更改以直接渲染视图:


我看到了您在代码的最后一部分尝试生成动态路由。我真的很兴奋能在我这边测试它,并试图有相同的路线,但它没有工作。为了让它工作,我做了以下更改。我希望这些变化会有所帮助

另外,如果我误解了你的问题,请原谅

// Routes.php
Route::get('testCall/{testVariable}', array(
    'as' => 'test', // This is the name of your route
   'uses' => 'Parekhchintan30\Test\TestController@testFunction'
 )); 
// TestController.php
public function testFunction($testVariable){
return View::make('test::'.$testVariable); // obviously you will need a view with that name
}//test is the name of my package in this case

我看到了您在代码的最后一部分尝试生成动态路由。我真的很兴奋能在我这边测试它,并试图有相同的路线,但它没有工作。为了让它工作,我做了以下更改。我希望这些变化会有所帮助

另外,如果我误解了你的问题,请原谅

// Routes.php
Route::get('testCall/{testVariable}', array(
    'as' => 'test', // This is the name of your route
   'uses' => 'Parekhchintan30\Test\TestController@testFunction'
 )); 
// TestController.php
public function testFunction($testVariable){
return View::make('test::'.$testVariable); // obviously you will need a view with that name
}//test is the name of my package in this case

注意安东尼奥!非常感谢你。我对Laravel是个新手,我很惊讶这么少的代码能产生这么多的代码!注意安东尼奥!非常感谢你。我对Laravel是个新手,我很惊讶这么少的代码能产生这么多的代码!