将数据从刀片视图传递到laravel中的控制器

时间:2016-09-26 11:07:53

标签: php laravel

我在刀片中使用Form::open(['action' => 'Controller@method']);将数据从视图传递到控制器。然后我收到了一个错误:

  

操作App \ Http \ Controllers \ Controller @方法未定义。

这是正确的,因为我的控制器在这个地址:

  

应用\模块\出头\控制器\

那么,我该怎么做才能解决它。

谢谢。

4 个答案:

答案 0 :(得分:1)

您可以使用路由而不是控制器@方法来修复它。

在routes.php中定义指向控制器的资源

Route::resource('posts', 'PostController', ['before' => 'csrf']);

然后你可以使用URL :: route()方法来获得正确的路线。

{!! Form::open(['url' => URL::route('posts.update', [$post->id]), 'method' => 'put', 'files' => false]) !!}

要查看所有路线及其别名,请运行以下工匠命令:

L5.x

php artisan route:list

L4.x

php artisan routes

答案 1 :(得分:0)

可能是文件名有问题。 Laravel基本上也提供默认控制器。为什么不更改名称并尝试使用新名称或完整路径。

您还将从路线文件夹中获取路线文件并使用laravel 5.3

答案 2 :(得分:0)

你可以这样试试。

  1. 首先在routes.php文件中为此创建一个路由

    LogProvider.SetCurrent(new NoopLogProvider());

  2. 然后在表单

    中使用该路由url

    Route::any('first/second/{id}', [ 'uses' => 'App\Modules\Somethings\Controllers@method' ]);

答案 3 :(得分:0)

您可以使用

Form::model

代替。 例如:

Form::model($user, ['method' => 'PATCH', 'action' => ['UserController@update', $user->id], 'files' => true]) 
// do you form stuff
Form::close()