Я хочу объединить два столбца в моей 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'},
В вашем случае я бы создал аксессор в вашей модели:
getNomCompletAttribute() {
return $this->prenom . ' ' . $this->nom;
}
Я верю, что теперь вы можете просто позвонить nom_complet
как будто это было бы обычное поле в таблицах данных.
Docs: https://laravel.com/docs/5.7/eloquent-mutators#defining-an-accessor
я следую за вашей помощью и стараюсь сочетать тему с этим
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;
}