webman-admin 模型怎么设置默认id倒序读取数据

程序小杰

webman-admin 模型怎么设置默认id倒序读取数据

625 3 3
3个回答

six

控制器里重写 select方法

    public function select(Request $request): Response
    {
        [$where, $format, $limit, $field, $order] = $this->selectInput($request);
        if (!$field) {
            $field = 'id';
            $order = 'desc';
        }
        $query = $this->doSelect($where, $field, $order);
        return $this->doFormat($query, $format, $limit);
    }
  • 程序小杰 2023-07-17

    你这样倒是可以,就是每个控制器重写。。麻烦些

  • Doogeli 2023-09-12

    基本每个update,innert都是重写。。一开始还真有点不习惯这种用法~

efnic

plugin\admin\app\controller\Crud类的 doSelect方法,增加四行

    /**
     * 指定查询where条件,并没有真正的查询数据库操作
     * @param array $where
     * @param string|null $field
     * @param string $order
     * @return EloquentBuilder|QueryBuilder|Model
     */
    protected function doSelect(array $where, string $field = null, string $order= 'desc')
    {
        //增加下面四行
        if (empty($field) || empty($order)) {
            $field = $this->model->getKeyName();
            $order = 'desc';
        }
  • 程序小杰 2023-07-17

    这个实用,可以~谢谢啦

  • Doogeli 2023-09-12

    感谢大佬,可以用,但想问下前端写排序,没有传到参数,是BUG吧?

Doogeli

这个应该是前端Pear Admin Layui 的BUG?
我点击sort排序的,他就会带参数,然后我用任何办法都没有办法带参数去查询~
protected function selectInput(Request $request): array
{
$field = $request->get('field');
$order = $request->get('order', 'asc');


我前端各种试,一直不行。折腾了很久,搜到老哥这个贴,也算解决了。但不知道为什么前端不能排序也不能传get 参数。。这是为何??

  • wanbao520 2023-09-13

    接口默认是正序,想id倒顺就?field=id,想其他字段就field=其他字段

  • efnic 2023-09-13

    看layui文档,https://layui.dev/docs/2.8/table/#on-sort

    是否由组件自动进行前端排序。若为 false,则需自主排序,即由后端直接返回排序好的数据。#详细用法

    boolean
    true

🔝