fastadmin

fastadmin_第1张图片

 解决办法:whereor

/**
     * @ApiTitle    (搜索功能)
     * @ApiMethod   (POST)
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="name", type="string", required=true, description="关键词")
     * @ApiReturn   ({
    "code":1,
    "msg":"返回成功"
    data:[]
    "status":1
    })
     */
    public function sousuo()
    {
        $uid = $this->auth->id;
        $name = $this->request->post('name');
        $time = date('Y-m-d',time());
        if (empty($name)) {
            $this->error('还是空空的哦', ['status' => 2]);
        }
        $data = db('drama_repertory r')
            ->join('drama_theatre t','t.id=r.t_id')
            ->join('drama_type t1','t1.id=r.type_id')
            ->join('drama_group g','g.id = r.group_id')
            ->field('r.images,r.name,r.t_id,r.type_id,r.group_id,r.starttime,r.endtime,r.minprice,g.name as group_name,t.name as theatre_name,t.area_id,t1.pid')
            ->whereOr('r.name', 'like', "%$name%")
            ->whereOr('t.name', 'like', "%$name%")
            ->whereOr('g.name', 'like', "%$name%")
            ->whereTime('endtime',$time)
            ->select();
        //dump($data);
        foreach ($data as $k => $v) {
            $data[$k]['images'] = cdnurl($data[$k]['images'],true);
            $data[$k]['starttime'] = date('Y-m-d', $data[$k]['starttime']);
            $data[$k]['endtime'] = date('Y-m-d', $data[$k]['endtime']);
            $data[$k]['area_id'] = \db('area')->where('id',$data[$k]['area_id'])->value('name');
            $data[$k]['pid'] = db('drama_type')
                ->where('id', $data[$k]['pid'])
                ->value('name');
        }
        $hid = \db('user_history')->where('keywords', $name)->value('id');
        if (empty($hid)) {
            \db('user_history')
                ->insertGetId([
                    'uid' => $uid,
                    'keywords' => $name,
                    'createtime' => time()
                ]);
        }
        Db::startTrans();
        try {
            \db('user_history')
                ->where('id', $hid)
                ->update([
                    'createtime' => time()
                ]);
            Db::commit();
        } catch (Exception $e) {
            Db::rollback();
            $this->error('连接错误', ['status' => 3]);
        }
        $this->success('获取成功', [$data, 'status' => 1]);
    }

你可能感兴趣的:(数据库,sql,mysql)