Laravel-如何为索引视图自定义数据表

Laravel-如何为索引视图自定义数据表,laravel,datatable,Laravel,Datatable,我正在为我的web应用程序使用Laravel-5.8。在其中,我使用datatable制作了一个索引视图刀片,它是从这两个动态输入表派生的: class AppraisalGoal extends Model { protected $table = 'appraisal_goals'; protected $primaryKey = 'id'; protected $fillable = [ 'goal_type_id',

我正在为我的web应用程序使用Laravel-5.8。在其中,我使用datatable制作了一个索引视图刀片,它是从这两个动态输入表派生的:

class AppraisalGoal extends Model
{
    protected $table = 'appraisal_goals';
    protected $primaryKey = 'id';

    protected $fillable = [
                  'goal_type_id',
                  'appraisal_identity_id',
                  'employee_id',
                  'company_id',
                  'is_published',
                  'is_approved',
                  'weighted_score',
                  'employee_comment',
                  'line_manager_comment',
                  'goal_title',
                  'appraisal_doc',
                  'appraisal_start_date',
                  'appraisal_end_date',
              ];

    public function goaltype()
    {
        return $this->belongsTo('App\Models\Appraisal\AppraisalGoalType','goal_type_id');
    }

    public function employee()
    {
        return $this->belongsTo('App\Models\Hr\HrEmployee','employee_id');
    }

    public function appraisalidentity()
    {
        return $this->belongsTo('App\Models\Appraisal\AppraisalIdentity','appraisal_identity_id');
    }

    public function appraisalgoaldetail(){
        return $this->hasMany('App\Models\Appraisal\AppraisalGoalDetail');
    }
}

class AppraisalGoalDetail extends Model
{
    protected $table = 'appraisal_goal_details';
    protected $fillable = [
                  'name',
                  'company_id',
                  'appraisal_goal_id',
                  'kpi_description',
                  'appraisal_doc',
                  'activity',
                  'start_date',
                  'end_date',
              ];

    public function appraisalgoal()
    {
        return $this->belongsTo('App\Models\Appraisal\AppraisalGoal');
    }    
}
控制器

public function index()
{
    $userEmployee = Auth::user()->employee_id;
    $goals = AppraisalGoal::where('employee_id', $userEmployee)->get();

    return view('appraisal.appraisal_goals.index')->with('goals', $goals);
}
目前,我有以下索引视图刀片:

其来源是:

    <div class="card-body">
        <div class="table-responsive">
            <table class=" table table-bordered table-striped table-hover datatable">
                <thead>
                    <tr>
                        <th width="10">
                            #
                        </th>
                        <th>
                            Goal Type
                        </th>
                        <th>
                            Goal Title
                        </th>
                        <th>
                            Goal Description
                        </th>
                        <th>
                            Weight
                        </th>
                        <th>
                            Published
                        </th>
                        <th>
                            Approved
                        </th>
                        <th>
                            Line Manager's Comments
                        </th>  
                        <th>
                            Start Date
                        </th>  
                        <th>
                            End Date
                        </th>
                        <th>
                            Date Added
                        </th>
                        <th>
                            &nbsp;
                        </th>
                    </tr>
                </thead>
                <tbody>
                    @foreach($goals as $key => $goal)
                            <td>
                                {{$key+1}}
                            </td>
                            <td>
                                {{$goal->goaltype->name ?? '' }}
                            </td>
                            <td>
                                {{$goal->goal_title ?? '' }}
                            </td>
                            <td>
                                {{$goal->goal_description ?? '' }}
                            </td>
                            <td>
                                {{$goal->weighted_score ?? '' }}
                            </td>
                            <td>
                                @if ($goal->is_published)
                                    <span class="badge bg-success">Published</span>
                                @else
                                    <span class="badge bg-danger">Pending</span>
                                </a>
                                @endif
                            </td>
                            <td>
                                @if ($goal->is_approved)
                                    <span class="badge bg-success" >Approved</span>
                                @else
                                    <span class="badge bg-danger">Pending</span>
                                @endif
                            </td>
                            <td>
                                {{$goal->line_manager_comment ?? '' }}
                            </td>
                            <td>
                                {{Carbon\Carbon::parse($goal->start_date)->format('d-m-Y') ?? '' }}
                            </td>
                            <td>
                                {{Carbon\Carbon::parse($goal->end_date)->format('d-m-Y') ?? '' }}
                            </td>
                            <td>
                                {{Carbon\Carbon::parse($goal->created_at)->format('d-m-Y') ?? '' }}
                            </td>
                            <td>
                                    @if($goal->is_published == 0)
                                    <a class="btn btn-xs btn-success" data-toggle="modal" data-target="#confirm-publish{{ $goal->id }}" data-original-title="Close"> 
                                        <span style="color:white;">Publish</span>
                                    </a>                                     
                                    @else
                                        <span class="badge bg-danger">Published</span>
                                    @endif                                
                                @can('appraisal_goal_show')
                                    <a class="btn btn-xs btn-primary" href="{{ route('appraisal.appraisal_goals.show', $goal->id) }}">
                                        {{ trans('global.view') }}
                                    </a>                            
                                @endcan
                                @can('appraisal_goal_edit')
                                    <a class="btn btn-xs btn-info" href="{{ route('appraisal.appraisal_goals.edit', ['id'=>$goal->id]) }}">
                                        {{ trans('global.edit') }}
                                    </a>
                                @endcan
                                @can('appraisal_goal_delete')
                                    <a class="btn btn-xs btn-danger" data-toggle="modal" data-target="#confirm-delete{{ $goal->id }}" data-original-title="Close"> 
                                        <span style="color:white;">{{ trans('global.delete') }}</span>
                                    </a>
                                @endcan   
                            </td>                                               
                    </tr>
                    @endforeach 
                </tbody>
            </table>
        </div>
    </div> 

#
目标类型
进球标题
目标描述
重量
出版
经核准的
直线经理的意见
开始日期
结束日期
添加日期
@foreach($key=>$goal的目标)
{{$key+1}}
{{$goal->goaltype->name???'}
{{$goal->goal_title???'}
{{$goal->goal_description???'}
{{$goal->weighted_分数???'}
@如果($goal->已发布)
出版
@否则
悬而未决的
@恩迪夫
@如果($goal->已批准)
经核准的
@否则
悬而未决的
@恩迪夫
{{$goal->line_manager_comment???'}
{{Carbon\Carbon::parse($goal->start_date)->格式('d-m-Y')??'''}
{{Carbon\Carbon::parse($goal->end_date)->格式('d-m-Y')??'''}
{{Carbon\Carbon::parse($goal->created_at)->格式('d-m-Y')??''}
@如果($goal->is_published==0)
@恩德坎
@可以(‘评估\目标\编辑’)
@恩德坎
@can(‘评估\目标\删除’)
{{trans('global.delete')}
@恩德坎
@endforeach
数据表脚本


$(函数(){
让copyButtonTrans='{{trans('global.datatables.copy')}'
让csvbuttonrans='{{trans('global.datatables.csv')}'
让excelButtonTrans='{{trans('global.datatables.excel')}'
让pdfButtonTrans='{{trans('global.datatables.pdf')}'
让printButtonTrans='{{trans('global.datatables.print')}'
让colvisButtonTrans='{{trans('global.datatables.colvis')}'
让语言={
"恩":"https://cdn.datatables.net/plug-ins/1.10.19/i18n/English.json'
};
$.extend(true,$.fn.dataTable.Buttons.defaults.dom.button,{className:'btn'})
$.extend(true,$.fn.dataTable.defaults{
语言:{
url:语言。{{app()->getLocale()}
},
columnDefs:[
{
可订购:错误,
可搜索:false,
目标:-1
}],
选择:{
样式:“多重+移位”,
选择器:“td:第一个孩子”
},
订单:[],
是的,
页长:100,
dom:'lBfrtip',
按钮:[
]
});
$.fn.dataTable.ext.classes.sPageButton='';
});

请看一下我在这篇文章中的答案,它应该会让你了解如何使用行间距和列间距