我试图在控制器中使用show函数中的id,
我的控制器与此$ id一起正常工作
public function show($id)
{
$DigestReport = Meo::find($id);
return view('digest-report.show', ['DigestReport' => $DigestReport]);
}
我正在尝试将相同的$ id用于其他功能
public function getMailRecipients($id){
$meoId = Meo::find(id);
$mailRecipients = $this->meoRepository->getMailRecipients($meoId);
return DataTables::of($mailRecipients)->make();
}
但我收到以下错误
函数DigestReportController :: getMailRecipients()的参数太少,第54行传递了0,而预期的恰好是1
我该如何解决?
添加:如有必要,这是我的存储库
public function getMailRecipients($meoId){
return DB::table('mail_recipients')->where('meo_id', '=', $meoId)->select('id', 'name', 'email')->get();
我的api.php我的存储路线在哪里
Route::get('/digest-report/mail-recipients', 'DigestReportController@getMailRecipients')->name('digest-report.mail-recipients');
我在哪里使用此控制器,是为了使数据表
$(document).ready(function () {
$('#mail-recipient-table').DataTable({
"processing": true,
"serverSide": true,
"ajax": '{{route('digest-report.mail-recipients')}}',
"columns": [{data:'id'},{data: 'name'},{data: 'email'}]
});
})
谢谢
好的,您有两种方法可以做到这一点
web.php
您将更新您的路线Route::get('/digest-report/mail-recipients/{id}', 'DigestReportController@getMailRecipients')->name('digest-report.mail-recipients');
那么你的JavaScript代码将是
$(document).ready(function () {
$('#mail-recipient-table').DataTable({
"processing": true,
"serverSide": true,
"ajax": '{{route('digest-report.mail-recipients', $DigestReport->id)}}',
"columns": [{data:'id'},{data: 'name'},{data: 'email'}]
});
})
getMailRecipients
public function getMailRecipients(Request $request){
$meoId = Meo::find($request->id); // or using helper request('id') function
$mailRecipients = $this->meoRepository->getMailRecipients($meoId);
return DataTables::of($mailRecipients)->make();
}
和您的JavaScript代码将相同
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句