fastadmin where条件用变量条件没有数据显示,求大神指教

xiaoxiaoming 15天前 229

public function index()

{
    $group_id =$this->request->get('ide');         //dump($group_id)有数据  为1
    $total = $this->model
        ->where('group_id','=',$group_id)         
        ->count();
    $list = $this->model
        ->where('group_id','=',$group_id)
        ->select();
    $list = collection($list)->toArray();
    $result = array("total" => $total, "rows" => $list);
    if ($this->request->isAjax()) {
        return json($result);
    }
    return $this->view->fetch();
}                                 
                                                 // 若$group_id换成数字1就有数据显示
最新回复 (22)
  • qweasd 15天前
    感谢TA
    0 引用 2

    @xiaoxiaoming image.png
    tp5 不是这么用的吧?

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 3

    @qweasd 可以这么用 但我用->where('group_id',$group_id)前端也是没有数据显示,可是我用->where('group_id',1)前端就有数据显示了

  • 青袂 15天前
    感谢TA
    0 引用 4

    好像数字1和字串1 是有区别的

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 5

    @青袂 这个是有区别,但我把$group_id获取的数字转转成int(1)也是没数据显示,哎

  • 君君要上天 15天前
    感谢TA
    0 引用 6

    把sql语句打出来看一下

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 7

    @君君要上天 array(2) {
    ["total"] => int(4)
    ["rows"] => array(4) {

    [0] => array(8) {
      ["id"] => int(1)
      ["group_id"] => int(1)
      ["show_name"] => string(12) "湖南卫视"
      ["show_url"] => string(20) "www.baidu.com"
      ["sequence_number"] => string(1) "1"
      ["show_remark"] => string(12) "湖南有限"
      ["status"] => string(1) "0"
      ["status_text"] => string(8) "Status 0"
    }
    [1] => array(8) {
      ["id"] => int(2)
      ["group_id"] => int(1)
      ["show_name"] => string(12) "广东卫视"
      ["show_url"] => string(22) "www.beijing.com"
      ["sequence_number"] => string(1) "1"
      ["show_remark"] => string(0) ""
      ["status"] => string(1) "0"
      ["status_text"] => string(8) "Status 0"
    }
    [2] => array(8) {
      ["id"] => int(3)
      ["group_id"] => int(1)
      ["show_name"] => string(12) "江西卫视"
      ["show_url"] => string(21) "www.jianxi.com"
      ["sequence_number"] => string(0) ""
      ["show_remark"] => string(0) ""
      ["status"] => string(1) "0"
      ["status_text"] => string(8) "Status 0"
    }
    

    dump()的话是有数据

  • 君君要上天 15天前
    感谢TA
    0 引用 8

    你是说dump有数据,但是前端不显示?这样的话浏览器控制台看一下有没有报错

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 9

    @君君要上天 完全没有任何报错提示,我都懵逼了现在,不可能没有数据显示啊,但是我把变量$group_id改为具体数字1,->where('group_id',1)前端就有数据显示,特么我都蒙了,dump也有数据,求各位大神请教一下

  • 君君要上天 15天前
    感谢TA
    0 引用 10
    xiaoxiaoming @君君要上天 完全没有任何报错提示,我都懵逼了现在,不可能没有数据显示啊,但是我把变量$group_id改为具体数字1,->where('group_id',1)前端就有数据显示,特么我都蒙了, ...

    不要慌。快去申请世界十大未解之谜。

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 11

    @君君要上天 哎 兄弟你真会说笑,我再看看吧

  • allen 15天前
    感谢TA
    0 引用 12

    换个浏览器啊 或者用postman 不信没有数据出来

  • 青袂 15天前
    感谢TA
    0 引用 13

    用$group_id有数据但是前段不显示还是就没有数据?dump出来也是空的?

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 14

    @青袂 用$group_id有数据,dump出来是有数据的,就是前端不显示,我也不知道怎么回事了

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 15

    @allen postman 这个是?

  • 青袂 15天前
    感谢TA
    0 引用 16

    然后return回来有没有 php查询和js的渲染看一下
    @xiaoxiaoming

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 17

    @青袂 define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'live/show/index',
                    add_url: 'live/show/add',
                    edit_url: 'live/show/edit',
                    del_url: 'live/show/del',
                    multi_url: 'live/show/multi',
                    table: 'live_show',
                }
            });
            var table = $("#table");
            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {field: 'group_id', title: __('分组ID')},
                        {field: 'show_name', title: __('Show_name')},
                        {field: 'show_url', title: __('Show_url'), formatter: Table.api.formatter.url},
                        {field: 'sequence_number', title: __('Sequence_number')},
                        {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1')}, formatter: Table.api.formatter.status},
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                    ]
                ]
    
            });
            // 绑定TAB事件
            $('.panel-heading a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
                var field = $(this).closest("ul").data("field");
                var value = $(this).data("value");
                var options = table.bootstrapTable('getOptions');
                options.pageNumber = 1;
                options.queryParams = function (params) {
                    var filter = {};
                    if (value !== '') {
                        filter[field] = value;
                    }
                    params.filter = JSON.stringify(filter);
                    return params;
                };
                table.bootstrapTable('refresh', {});
                return false;
            });
    
            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        add: function () {
            Controller.api.bindevent();
        },
        edit: function () {
            Controller.api.bindevent();
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;

    });

    PHP

    <?php
    namespace appadmincontrollerlive;
    use appcommoncontrollerBackend;
    /**

    • 直播节目管理

    *

    • @icon fa fa-circle-o

    */
    class Show extends Backend
    {

    /**
     * Show模型对象
     * @var \app\admin\model\live\Show
     */
    protected $model = null;
    
    public function _initialize()
    {
        parent::_initialize();
        $this->model = new \app\admin\model\live\Show;
        $this->view->assign("statusList", $this->model->getStatusList());
    }
    public function index()
    {
        $id=$this->request->Get('ide');
        $this->request->filter(['strip_tags']);
        if ($this->request->isAjax()) {
            if ($this->request->request('keyField')) {
                return $this->selectpage();
            }
            $total = $this->model
                ->where('group_id',$id)
                ->count();
            $list = $this->model
                ->where('group_id',$id)
                ->select();
            $list = collection($list)->toArray();
            $result = array("total" => $total, "rows" => $list);
           return json($result);
        }
          return $this->view->fetch();
    }
    /**
     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
     */
    

    }

  • 青袂 15天前
    感谢TA
    0 引用 18
    xiaoxiaoming @青袂 define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Tab ...

    看起来好像没问题 浏览器里面加载对应页面的时候有数据传出来吗?

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 19

    @青袂 没有,我也纳闷啊,前端就是没数据来,哎,懵逼啊

  • 青袂 15天前
    感谢TA
    0 引用 20

    @xiaoxiaoming 能dump出来但是不返回就一句句排查吧 其他页面也这样还是就这个页面是这样的

  • 龙启云 15天前
    感谢TA
    0 引用 21

    各位大神 稍安勿躁 这人交给我了

  • xiaoxiaoming 楼主 15天前
    感谢TA
    0 引用 22

    @青袂 @qweasd @君君要上天 @allen @龙启云 感谢龙大神手把手教小的,问题解决,也感谢各位大神的指教,谢谢大家!

  • allen 15天前
    感谢TA
    0 引用 23
    xiaoxiaoming @allen postman 这个是?

    程序员接口调试必备神器,调试其他打印数据也是很棒的

  • 未登录
    24
返回