Я хочу манипулировать данными яджры
columns:[
{ data: 'fname', name: 'members.fname' },
{ data: 'fname', name: 'employees.emp_fname' }
]
используя функцию рендеринга, показанную ниже, и это не сработало. Ошибка в операторе возврата. Таблица не отображает никаких данных. Я просто не мог найти подходящего решения. Я уже использовал alias
и addColumn
и работает хорошо, но проблема в том, что он не позволяет выполнять поиск по именам. Вот почему я придумал такую строку кода, потому что она, возможно, позволит выполнить поиск, если она работает. Пожалуйста, помогите с этим. Спасибо.
p3bills_table = $('#table-p3bills').DataTable({
processing: true,
serverSide: true,
order: [
[
1, "asc"
]
],
ajax: {
url: "{{ route('get.p3bills') }}",
},
columns: [
{ data:'id', name:'p3bills.id' },
{ data:'id', name:'p3bills.id', orderable: true },
{ data:'p3loan_id', name:'p3loan_id' },
{ data:'schedule', name:'p3bills.schedule' },
{
render: function (data, type, full, meta) {
if (full.member_id == 0) {
return data:'fname', name: 'employees.emp_fname';
} else {
return data:'fname', name: 'members.fname';
}
}
},
{ data:'lname', name:'members.lname' },
{ data:'mname', name:'members.mname' }
]
});
Контроллер
public function getP3bills(){
$p3bills = P3bill::leftJoin('p3payments', 'p3payments.p3bill_id', '=', 'p3bills.id')
->leftJoin('members', 'members.id', '=', 'p3bills.member_id')
->leftJoin('employees', 'employees.id', '=', 'p3bills.employee_id')
->select(['members.id','members.lname','members.fname','members.mname','members.extension','employees.id','employees.emp_lname','employees.emp_fname','employees.emp_mname','employees.emp_extension','p3bills.*','p3payments.payment_amount','p3payments.or_number'])
->selectRaw( '('.
'CASE'.
' WHEN members.id=0 THEN employees.emp_fname'.
' ELSE members.fname'.
' END'.
') AS person_name' );
}