IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> tp6 多关联withJoin查询 -> 正文阅读

[移动开发]tp6 多关联withJoin查询

记录:一个模型关联多个模型,进行查询
代码示例:

	protected $relationSearch = false;
    /**
     * @NodeAnotation(title="列表")
     */
    public function index()
    {        
        if ($this->request->isAjax()) {
            if (input('selectFields')) {
                return $this->selectList();
            }
            list($page, $limit, $where) = $this->buildTableParames();
            $count = $this->model
                ->withJoin(['systemCar','driver','supplier'],'left') 
                ->where($where)
                ->count();
            $list = $this->model
                ->withoutField('delete_time')
                ->withJoin(['systemCar','driver','supplier'],'left')
                ->where($where)
                ->page($page, $limit)
                ->order($this->sort)
                ->select()->each(function($item,$key){
                    //创建人类型:1-管理员,2-客户
                    if($item['create_people_type'] == 1){
                        $item['create_people'] =  Db::name('system_admin')->where(['id'=>$item['create_people']])->value('realname');
                    }else{
                        $item['create_people'] = Db::name('customer')->where(['id'=>$item['create_people']])->value('name');
                    }
                    //修改人类型:1-管理员,2-客户
                    if($item['update_people_type'] == 1){
                        $item['update_people'] = Db::name('system_admin')->where(['id'=>$item['update_people']])->value('realname');
                    }else{
                        $item['update_people'] = Db::name('customer')->where(['id'=>$item['create_people']])->value('name');
                    }
                    $item['create_time'] = $item['create_time'] ? date('Y-m-d H:i:s',$item['create_time']) : '';    
                    $item['update_time'] = $item['update_time'] ? date('Y-m-d H:i:s',$item['update_time']) : '';    
                    //开始配送时间,预计到达时间
                    $item['start_time'] = $item['start_time'] ? date('Y-m-d H:i:s',$item['start_time']) : '';    
                    $item['end_time'] = $item['end_time'] ? date('Y-m-d H:i:s',$item['end_time']) : '';   
                });
            $data = [
                'code'  => 0,
                'msg'   => '',
                'count' => $count,
                'data'  => $list,
            ];
            return json($data);
        }
        return $this->fetch();
    }

注意:
1,withJoin([‘systemCar’,‘driver’,‘supplier’],‘left’) 要放在withoutField() 函数之后
2,withJoin([‘systemCar’,‘driver’,‘supplier’],‘left’) 中第二个参数:
a/ 不填时,若未关联到数据时,则不显示
b/ 为 left 时,以当前表为主表进行查询,未关联到也会显示
c/ 为 right 时,以关联表为主表进行查询,未关联到也会显示

(持续更新中…)

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:41:04  更:2022-03-12 17:41:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 18:37:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码