合并数据表中的两列

时间:2019-01-07 14:45:50

标签: php laravel datatable laravel-blade laravel-translatable

enter image description here

我想在DataTable中合并两列。我有namesurname,但我想将它们结合起来,只显示全名的一列。

刀片

<th>{{ trans('labels.backend.patients.table.id') }}</th>
<th>{{ trans('labels.backend.patients.table.nom_patient') }}</th>
<th>{{ trans('labels.backend.patients.table.prenom_patient') }}</th>
<th>{{ trans('labels.backend.patients.table.date_naissance') }}</th>

DataTable Ajax

columns: [ {data: 'id', name: '{{config('module.patients.table')}}.id'},
    {data: 'nom_patient', name: '{{config('module.patients.table')}}.nom_patient'},
    {data: 'prenom_patient', name: '{{config('module.patients.table')}}.prenom_patient'},

2 个答案:

答案 0 :(得分:1)

在您的情况下,我将在您的模型中创建一个访问器:

getNomCompletAttribute() {
    return $this->prenom . ' ' . $this->nom;
}

我相信您现在可以像在数据表中的常规字段一样调用nom_complet

文档:https://laravel.com/docs/5.7/eloquent-mutators#defining-an-accessor

答案 1 :(得分:0)

我遵循您的帮助,我尝试将主题与之相结合

public function __invoke(ManagePatientRequest $request)
    {
        return Datatables::of($this->patient->getForDataTable())
            ->escapeColumns(['id'])
            ->addColumn('nom_patient', function ($patient) {
                return $patient->nom_patient.''.$patient->prenom_patient;
            }