如何填加where条件

发布于 2017-05-22 04:44:46

fastadmin默认有$where条件,我想增加自定义的条件,不过按照这种方式行不通,不知道怎么解决。

    public function index()
    {
        if ($this->request->isAjax())
        {
            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
            $total = $this->model
                    ->where($where)
                    ->where('show_type' , '<', 1)
                    ->order($sort, $order)
                    ->count();
            $list = $this->model
                    ->where($where)
                    ->order($sort, $order)
                    ->limit($offset, $limit)
                    ->select();
            $result = array("total" => $total, "rows" => $list);
            return json($result);
        }
        return $this->view->fetch();
    }

查看更多

关注者
1
被浏览
3.7k
12 个回答
Karson
Karson FastAdmin创始人 2018-05-04
FastAdmin!

$where无法直接修改,如果需要修改$where中的条件,可以在调用buildparams之前使用

$this->request->get(["filter", "参数值"]);

来动态修改请求的参数信息。

myIvan
myIvan 认证专家 2018-12-04
各种技术交流学习,欢迎来扰。

只添加了总数,取条数哪里没有加

$list = $this->model
                    ->where($where)
                    ->where('show_type' , '<', 1)
                    ->order($sort, $order)
                    ->limit($offset, $limit)
                    ->select();
我也不知道该叫什么
这家伙很懒,什么也没写!

添加查询条件后原生态的搜索不能用了1525511625(1).jpg

ydx425
ydx425 2018-06-25
这家伙很懒,什么也没写!

应嘎是 $this->request->get(['filter'=>json_encode($filter)]); 这样传递键值对数组
` public function updateWhereTitle(){

    $filter = json_decode($this->request->get('filter'));
    $op = json_decode($this->request->get('op'));

    $search_title = $filter->title;
    if($search_title){
        $SpecialtyModel = new Specialty();
        $ids = $SpecialtyModel->getIdLists(array(
            'title'=>array('LIKE',"%$search_title%")
        ));

        unset($filter->title);
        unset($op->title);

        $filter->s_id = $ids;
        $op->s_id = 'IN';

        $this->request->get(['filter'=>json_encode($filter)]);
        $this->request->get(['op'=>json_encode($op)]);
    }
}```

这里输入代码

jejwe
jejwe 2017-05-22
这家伙很懒,什么也没写!

添加了一个
->where('show_type' , '<', 1)但实际运行过程并不起作用

Karson
Karson FastAdmin创始人 2017-05-22
FastAdmin!

@jejwe 我测试过是可以的,请注意第一条查询是统计总数,第二条查询才是返回查询列表,你这样只加第一条肯定没效果的哦

cbzmqx
cbzmqx 2018-04-02
这家伙很懒,什么也没写!

请问这个问题,解决了么,我貌似也遇到了

好先森
好先森 2018-05-04
这家伙很懒,什么也没写!

我想修改where中的某一个条件,怎么加条件呢?

好先森
好先森 2018-05-07
这家伙很懒,什么也没写!

@Karson 有示例吗?我这边没有修改成功

XJB2015
XJB2015 2018-12-03
这家伙很懒,什么也没写!

有解决这个问题的吗?我也碰到了,头疼

道空空
道空空 2019-10-15
这家伙很懒,什么也没写!

`
$newWhere = ['id'=>1];
$where = function($query)use($where,$newWhere){

$query->where($where)->where($newWhere);

}`

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览