我想在DataTable中合并两列。我有name
和surname
,但我想将它们结合起来,只显示全名的一列。
刀片
<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'},
答案 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;
}