0
点赞
收藏
分享

微信扫一扫

thinkphp查询条件

一条咸鱼的干货 2021-09-25 阅读 102
日记本

持续更新thinkphp查询数据库条件具体用法,

条件或

 $condition = array(
            ['fromid|toid',"=","12"],
        );

如上,表示字段fromid等于"12",或者toid等于“12”

小于等于、大于等于

 if (!empty($endtime)) {
            $condition[] = ['starttime', '<=', $endtime ];
        }
        if (!empty($starttime)) {
            $condition[] = ['starttime', '>=', $starttime ];
        }

join

表A



表B



查询A列表的时候,需要分别根据id获取详情:
 public function getFriendsPageList($condition = [], $page = 1, $page_size = PAGE_LIST_ROWS, $order = '', $field = '*')
    {

        $alias = 'f';
        $join  = [
            [
                'member m',
                'm.member_id = f.fromid',
                'left'
            ],
            [
            'member mto',
                'mto.member_id = f.toid',
                'left'
            ]
        ];
        $field = 'f.*,m.nickname as fromnickname,m.mobile as frommobile,m.headimg as fromheadimg,mto.nickname as tonickname,mto.mobile as tomobile,mto.headimg as toheadimg';

        $list = model('friends')->pageList($condition, $field, $order, $page, $page_size,$alias, $join);
        return $this->success($list);
    }

原生查询

use think\facade\Db;
 public function lists()
    {
        $token = $this->checkToken();
        $page      = input('page', 1);
        $limit     = input('limit', PAGE_LIST_ROWS);
        $list= Db::query("select a.* from goods a join friends b ON a.goods_name  = b.fromid WHERE b.toid =:id UNION select a.* from goods a join friends b ON a.goods_name  = b.toid WHERE b.fromid = :userid ORDER BY create_time desc LIMIT :page, :limit", ['id' => $token['data']['member_id'],'userid'=>$token['data']['member_id'],'page'=>$page-1,'limit'=>$limit]);
        if (empty($list)){
            return $this->response(['data'=>[]]);
        }
        return $this->response(['data'=>$list]);
    }
举报

相关推荐

0 条评论