如何在controller laravel中获取用于另一个函数的id
我试图在控制器中使用show函数的id 我的控制器使用此$id正常工作如何在controller laravel中获取用于另一个函数的id,laravel,controller,Laravel,Controller,我试图在控制器中使用show函数的id 我的控制器使用此$id正常工作 public function show($id) { $DigestReport = Meo::find($id); return view('digest-report.show', ['DigestReport' => $DigestReport]); } 我正在尝试将相同的$id用于另一个函数 public function getMailRecipients($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();
My 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
中,您将更新您的路线,以便$(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
您的javascript代码将是相同的好的,有两种方法可以做到这一点
web.php
中,您将更新您的路线,以便$(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
您的javascript代码将是相同的向我们显示您的路线以及您呼叫
getMailRecipients($id)
@mmabdelgawad更新的位置,谢谢您的路线中没有{id}
,因此它永远无法进入您的控制器显示您的路线以及您呼叫getMailRecipients($id)
@mmabdelgawad更新的位置,感谢您的路由中没有{id}
,因此它永远无法进入您的控制器进行回复,现在我遇到以下错误$id未定义,请在刀片模板中选择变量。将{{$id}替换为{$id???''''}}好的,我在js中添加了$DigestReport->id,问题解决了,谢谢!感谢回复,现在我有以下错误$id未定义,请在刀片模板中选择变量。将{{$id}替换为{$id???''''}}好的,我在js中添加了$DigestReport->id,问题解决了,谢谢!
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();
}