Я хочу манипулировать таблицами данных yajra
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' );
}