Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.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更新数据库路由_Php_Laravel_Laravel 3 - Fatal编程技术网

Php Laravel更新数据库路由

Php Laravel更新数据库路由,php,laravel,laravel-3,Php,Laravel,Laravel 3,我正在尝试更新数据库中的一列,其中包含一个项目的总投票数。我有一个404问题,但我没有看到我的路线上的问题。(附注:拉威尔3) 这是我对每个项目的投票按钮: {{ Form::open('project/addvote', 'VOTE') }} {{ Form::hidden('id', $project->id) }} {{ Form::submit('Vote') }} {{ Form::close() }} 因此,当您单击投票按钮时,它将使用以下路线: Route::put('pr

我正在尝试更新数据库中的一列,其中包含一个项目的总投票数。我有一个404问题,但我没有看到我的路线上的问题。(附注:拉威尔3)

这是我对每个项目的投票按钮:

{{ Form::open('project/addvote', 'VOTE') }}
{{ Form::hidden('id', $project->id) }}
{{ Form::submit('Vote') }}
{{ Form::close() }}
因此,当您单击投票按钮时,它将使用以下路线:

Route::put('project/addvote', array('uses'=>'projects@addvote'));
这是我在项目控制器中的操作(还没有更新,只是尝试重定向):

正在重定向到此路由:

Route::get('project/(:num)', array('as'=>'project', 'uses'=>'projects@project'));
这就是404错误

感谢这里的每一个回复和巨大的帮助

实际上,
Redirect::to_route
要求重定向到它的路由的名称,并且命名路由必须用名称声明,如

路由::put('project/addvote',array('as'=>'project','uses'=>'projects@addvote'));

所以,你可以使用它;它的名字重定向到它,就像

return Redirect::to_route('project'); 在这里,
project
已使用
'as'=>'project'
作为其名称。在你的例子中,你没有给路线命名,在这里

路由::put('project/addvote',array('uses'=>'projects@addvote')); 缺少,
as=>'route\u name'

对于第二个问题,您可以按以下步骤进行操作:

$id = Input::get('id');
Project::find($id);
Project->votenumber = 5;
Project->->save();

更新: 这有点令人困惑,但在通过评论系统进行对话后,路由的答案如下:

您(OP)提到您已将一条路线声明为

 Route::get('projets', array('as'=>'projets', 'uses'=>'projets@index'));
您正试图使用以下命令重定向到此路由

return Redirect::to_route('project', $id);
因此,您正在传递一个参数,而它不在您的路由声明中,这就是问题所在,所以要克服这个问题,请将您的路由声明更改为

Route::get('projets/(:num)', array('as'=>'projets', 'uses'=>'projets@index'));

或者,您可以使用
将参数设置为可选,例如:

Route::get('projets/(:any?)', array('as'=>'projets', 'uses'=>'projets@index'));

更新: 你应该把问题贴在原始代码上,无论如何,改变这个

return Redirect::to_route('project', $id);

实际上,
Redirect::to_route
要求重定向到它的路由的名称,并且命名路由必须用名称声明,如

路由::put('project/addvote',array('as'=>'project','uses'=>'projects@addvote'));

所以,你可以使用它;它的名字重定向到它,就像

return Redirect::to_route('project'); 在这里,
project
已使用
'as'=>'project'
作为其名称。在你的例子中,你没有给路线命名,在这里

路由::put('project/addvote',array('uses'=>'projects@addvote')); 缺少,
as=>'route\u name'

对于第二个问题,您可以按以下步骤进行操作:

$id = Input::get('id');
Project::find($id);
Project->votenumber = 5;
Project->->save();

更新: 这有点令人困惑,但在通过评论系统进行对话后,路由的答案如下:

您(OP)提到您已将一条路线声明为

 Route::get('projets', array('as'=>'projets', 'uses'=>'projets@index'));
您正试图使用以下命令重定向到此路由

return Redirect::to_route('project', $id);
因此,您正在传递一个参数,而它不在您的路由声明中,这就是问题所在,所以要克服这个问题,请将您的路由声明更改为

Route::get('projets/(:num)', array('as'=>'projets', 'uses'=>'projets@index'));

或者,您可以使用
将参数设置为可选,例如:

Route::get('projets/(:any?)', array('as'=>'projets', 'uses'=>'projets@index'));

更新: 你应该把问题贴在原始代码上,无论如何,改变这个

return Redirect::to_route('project', $id);


不,实际上我有重定向路线。路由::get('projets',array('as'=>'projets','uses'=>'projets@index')); 所以我仍然有同样的问题,在你的问题中,你发布的路线是
route::put('project/addvote',array('uses'=>)projects@addvote'));也许你应该用确切的路线和代码更新你的问题。这就是我按下“投票”按钮,发送到启动addVote功能的路线时的路线。然后,addVote函数重定向回projects菜单,返回我刚才显示的路线。很抱歉造成混淆,收到了,但您传递了一个id,如
$id
,您在路线中提到了吗?很抱歉,我没有给出正确的路线。我将编辑主要问题,使其更清晰不,我实际上有重定向路线。路由::get('projets',array('as'=>'projets','uses'=>'projets@index')); 所以我仍然有同样的问题,在你的问题中,你发布的路线是
route::put('project/addvote',array('uses'=>)projects@addvote'));也许你应该用确切的路线和代码更新你的问题。这就是我按下“投票”按钮,发送到启动addVote功能的路线时的路线。然后,addVote函数重定向回projects菜单,返回我刚才显示的路线。很抱歉造成混淆,收到了,但您传递了一个id,如
$id
,您在路线中提到了吗?很抱歉,我没有给出正确的路线。我将编辑主要问题,使其更清楚