如何在jquery和laravel中用request传递datatable中的两个参数

lqfhib0f  于 2023-06-22  发布在  jQuery
关注(0)|答案(1)|浏览(96)

我需要运行一个函数来检查有效性,我需要通过请求传递两个变量。如果可能的话,我需要在数据表中使用。
示例

return datatables()
            ->of($employee)
            ->addIndexColumn()
            ->addColumn('action', function($row) use ($attendanceDate) 
            {
                $btnId = $row->company_id."_".$row->branch_id."_".$row->id."_".$attendanceDate."_".$row->department_id."_".$row->designation_id;
                $btn='';
                $status = Attendance::where([['employee_id', '=', $row->id],['current_date', '=', $attendanceDate]])->first();
                if ((Auth::user()->hasPermissionTo('attendance-create') || Auth::user()->hasPermissionTo('attendance-update')) &&  !isset($request->day_wise) )
                {
if($current_day>=3 && $given_month==$current_munth && $left_days<8)
                        {
                           
 if(isset($status->status) && $status->status!=2 && $status->working_time <'08:00:00'){
                                $btn .= '<a href="javascript:void(0)" class="btn btn-info btn-outline btn-    circle btn-lg attendance_employee" employee_name="'.$row->name.'" table_id="'.$btnId.'" data-toggle="tooltip" title="Attendance"><i class="fas fa-clock"></i></a>';

                            }
                        }
      
                    }
                    
                }
 return $btn;

现在我需要$row和$attendanceDate来检查查询中的addColumn,而不是isset $request值。如果我使用上面的函数,它会抛出一个错误[上面的代码不适用于请求参数]。如果我尝试从外部使用$attendanceDate,则datatable。
我需要的解决方案可以工作如下:

  1. return $btn或button在视图中显示条件库
    1.如果$request->day_wise未设置,则尽可能隐藏addColoumn 'action'
ajsxfq5m

ajsxfq5m1#

请像下面的代码一样在use关键字中传递请求变量。

return datatables()
            ->of($employee)
            ->addIndexColumn()
            ->addColumn('action', function($row) use ($attendanceDate,$request) 
            {
                $btnId = $row->company_id."_".$row->branch_id."_".$row->id."_".$attendanceDate."_".$row->department_id."_".$row->designation_id;
                $btn='';
                $status = Attendance::where([['employee_id', '=', $row->id],['current_date', '=', $attendanceDate]])->first();
                if ((Auth::user()->hasPermissionTo('attendance-create') || Auth::user()->hasPermissionTo('attendance-update')) &&  !isset($request->day_wise) )
                {
if($current_day>=3 && $given_month==$current_munth && $left_days<8)
                        {
                           
 if(isset($status->status) && $status->status!=2 && $status->working_time <'08:00:00'){
                                $btn .= '<a href="javascript:void(0)" class="btn btn-info btn-outline btn-    circle btn-lg attendance_employee" employee_name="'.$row->name.'" table_id="'.$btnId.'" data-toggle="tooltip" title="Attendance"><i class="fas fa-clock"></i></a>';

                            }
                        }
      
                    }
                    
                }
 return $btn;

相关问题