Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将参数传递给laravel中的restful控制器_Php_Laravel_Laravel 4 - Fatal编程技术网

Php 将参数传递给laravel中的restful控制器

Php 将参数传递给laravel中的restful控制器,php,laravel,laravel-4,Php,Laravel,Laravel 4,我刚刚开始在Laravel4中安装restful控制器。当使用这种路由方式时,我不知道如何将参数传递给控制器中的函数 控制器: class McController extends BaseController { private $userColumns = array("stuff here"); public function getIndex() { $apps = Apps::getAllApps()->get()

我刚刚开始在Laravel4中安装restful控制器。当使用这种路由方式时,我不知道如何将参数传递给控制器中的函数

控制器:

class McController extends BaseController
{
            private $userColumns = array("stuff here");

    public function getIndex()
    {
            $apps = Apps::getAllApps()->get();
            $apps=$apps->toArray();
            return View::make('mc')->nest('table', 'mc_child.table',array('apps'=>$apps, 'columns'=>$this->userColumns));
    }

    public function getTable($table)
    {
            $data = $table::getAll()->get();
            $data=$data->toArray();
            return View::make('mc')->nest('table', 'mc_child.table',array('apps'=>$apps, 'columns'=>$this->userColumns));
    }

}
路线:

 Route::controller('mc', 'McController');

我能够访问这两个URL,因此我的路由正常。使用此路由和控制器方法时,如何将参数传递到此控制器?

在Laravel中定义restful控制器时,可以通过URI访问操作,例如使用
Route::controller('mc','McController')
将与路由匹配
mc/{any?}/{any?}
等。对于函数
getTable
,您可以通过路径
mc/table/mytable
访问,其中
mytable
是函数的参数

编辑 必须按如下方式启用restful功能:

class McController extends BaseController
{
    // RESTFUL
    protected static $restful = true;

    public function getIndex()
    {
        echo "Im the index";
    }

    public function getTable($table)
    {
        echo "Im the action getTable with the parameter ".$table;
    }
}

在这个例子中,当我转到route
mc/table/hi
时,我得到了输出:
Im可以通过参数hi

访问rout和mc/table。get是让laravel知道为动作get调用它的东西,因此使它变得平静。当我将另一个字符串传递到url ex.mc/table/mytable时,它会在控制器中查找“mytable”作为函数。这就是我面临的问题。我想知道是否有可能使用这种路由方式将参数传递给控制器。这看起来像是在使用laravel 3。拉威尔4号可能有些不同。这个例子是用Laravel4做的,我认为L3没有太大的区别。你能传递参数真奇怪。可能正在尝试L4的新安装。我没有
protectedstatic$restful=true在我的代码中,我认为这在laravel 4中是不必要的。啊,我猜它最终是我函数中的代码!它现在正在工作。非常感谢。