Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将编辑的数据发送到数据表的底部_Php_Mysql_Laravel_Datatable_Mariadb - Fatal编程技术网

Php 将编辑的数据发送到数据表的底部

Php 将编辑的数据发送到数据表的底部,php,mysql,laravel,datatable,mariadb,Php,Mysql,Laravel,Datatable,Mariadb,如何将最近编辑的数据发送到datatable的底部?目前,我在Laravel中将orderBy('updated_by','asc')用作orderBy,但我想将另一个我尚未编辑的数据作为创建的数据排序在,desc 有什么建议我怎样才能做到这一点 $model = Assigned::select( 'maintenance_assigned.id', 'maintenance_assigned.member_id', 'maintenance_assigned.created_at',

如何将最近编辑的数据发送到datatable的底部?目前,我在Laravel中将
orderBy('updated_by','asc')
用作orderBy,但我想将另一个我尚未编辑的数据作为
创建的数据排序在
desc

有什么建议我怎样才能做到这一点

$model = Assigned::select(
    'maintenance_assigned.id', 'maintenance_assigned.member_id', 'maintenance_assigned.created_at',
    'member.username', 'member.full_name', 'member.phone', 'member.call_status',
    'user.nik AS assigned_to_nik', 'user.name AS assigned_to_name',
    'panel.name AS panel_name'
    )
    ->leftJoin('maintenance_members AS member', 'member.id', 'maintenance_assigned.member_id')
    ->leftJoin('users AS user', 'user.id', 'member.assigned_to')
    ->leftJoin('maintenance_panels AS panel', 'panel.id', 'member.panel_id')
    ->orderBy('maintenance_assigned.updated_at', 'asc')->get();

要按不同的列有条件地排序,需要使用表达式。这可以通过使用
orderByRaw()
orderBy()
light\Database\Query\Expression
对象来完成。表达式可能是
IF(updated_at=created_at,NULL,updated_at)
或类似的表达式

另一个选项是在更新时填充另一个字段,例如
updated=1
,并按该列排序。请记住,更复杂的排序可能会影响索引的使用和性能。如果表很大,则应解释查询或使用真实的数据集对其进行分析