【发布时间】:2018-09-25 10:26:45
【问题描述】:
我只想获取每个客户 ID 的最新日期/时间,但 orderBy 代码似乎不起作用。我已经尝试过使用,但我不断收到数据表错误 7。
控制器
public function refresh(){
$cash_advance = DB::table('cash_advance')
->join('customer', 'customer.id', '=', 'cash_advance.customer_id')
->select('cash_advance.customer_id', 'customer.fname', 'customer.mname', 'customer.lname', 'cash_advance.amount', 'cash_advance.created_at', 'cash_advance.balance')
->groupBy('cash_advance.customer_id')
->orderBy('cash_advance.created_at', 'desc')
->get();
return \DataTables::of($cash_advance)
->addColumn('action', function($cash_advance){
return '<button class="btn btn-xs btn-info" id="'.$cash_advance->customer_id.'"><i class="material-icons" style="width: 25px;">visibility</i></button>';//info/visibility
})
->make(true);
}
数据表
var cash_advancetable = $('#cash_advancetable').DataTable({
dom: 'Bfrtip',
buttons: [
],
processing: true,
serverSide: true,
ajax: "{{ route('refresh_cashadvance') }}",
columns: [
{render: function(data, type, full, meta){
return full.fname +" "+full.mname+" "+full.lname;
}},
{data: 'amount', name: 'amount'},
{data: 'created_at', name: 'created_at'},
{data: 'balance', name: 'balance'},
{data: "action", orderable:false,searchable:false}
]
});
【问题讨论】:
-
错误是什么?
-
没有错误,只是当我使用 group by 时,它需要插入最早的数据而不是最新的数据,降序的顺序不像我想象的那样工作。
-
在
orderBy()之后尝试使用groupBy() -
我也试过了,但是没用。
-
如果我知道 mysql 抛出什么错误信息(7 除外),我可以提供帮助
标签: laravel datatable controller sql-order-by