繁体   English   中英

laravel从View向控制器传递数据:[Route:]缺少必需的参数

[英]laravel pass data from View to controller : Missing required parameters for [Route: ]

我试图将某些数据从我的视图传递到我的控制器,以便使用选定的月份显示数据,我不确定我正在执行的月份数或Eloquent查询是否正确,这就是到目前为止的结果。

我的路线:

Route::get('dcmlog/monthly','LogController@monthly');

Route::resource('dcmlog', 'LogController');

控制器:

public function monthly($id)
{
     $dcmlogs = log::with('users')
     ->whereMonth('created_at', '=', $id))
     ->paginate(15);
    return view('dcmlog.index', compact('dcmlogs'));
}

我的索引视图:

<h>Display a logs by month <h>
<a href="{{action('LogController@monthly'),$post['id'] }}">
{{ $id=Form::selectMonth('month')}}</a>

运行页面时出现以下错误

[路由:] [URI:dcmlog /每月/ {id}]缺少必需的参数。

像这样向您的路线添加ID参数

Route::get('dcmlog/monthly/{id}','LogController@monthly');

之后,您可以访问控制器中的id值。

您可以在这里查看文档https://laravel.com/docs/5.6/routing#required-parameters

添加一个路由器: Route::get('dcmlog/monthly/{id}','LogController@monthly')->name('blah');

通过id var当成参数鉴于<a href="{{action('LogController@monthly'),$post['id'] }}">{{route('blash',['id'=>$post['id']])}}

您缺少在路线中添加id的信息。 只需添加它就可以了!

有关更多信息,请参见此文档

像这样添加:

Route::get('dcmlog/monthly/{id}','LogController@monthly'); 

路线中缺少ID参数:
Route::get('dcmlog/monthly','LogController@monthly'); 应该是Route::get('dcmlog/monthly/{id}','LogController@monthly');

用参数路由

和动作语法有错误:
<a href="{{action('LogController@monthly'),$post['id'] }}">应该是
<a href="{{action('LogController@monthly', $post['id']) }}">

为控制器操作生成URL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM