首页 > 编程语言 >thinkphp 便捷关联简写

thinkphp 便捷关联简写

时间:2024-01-13 20:55:06浏览次数:32  
标签:refund name 便捷 order time thinkphp 简写 type id

/**      * 关联会员表      */     

public function member()
    {
        return $this->hasOne(Member::class, 'member_id', 'member_id');
    }

关联写法

/**
     * 详情
     * @param int $order_id
     * @return array
     */
    public function getDetail(int $refund_id)
    {
        $field = 'refund_id, order_id, order_goods_id, order_refund_no, refund_type, reason, member_id, apply_money, money, status, create_time, transfer_time, remark, voucher, source, timeout, refund_no, delivery, shop_reason, refund_address';
        $info = $this->model->where([ [ 'refund_id', '=', $refund_id ], ['site_id', '=', $this->site_id] ])->field($field)
            ->with(
                [
                    'order_main' => function($query) {
                        $query->field('order_id,order_no,order_type,order_from,out_trade_no,status,member_id,ip,goods_money,delivery_money,order_money,invoice_id,create_time,pay_time,delivery_time,take_time,finish_time,close_time,delivery_type,taker_name,taker_mobile,taker_province,taker_city,taker_district,taker_address,taker_full_address,taker_longitude,taker_latitude,take_store_id,is_enable_refund,member_remark,shop_remark,close_remark,discount_money')
                            ->append([ 'order_from_name', 'order_type_name', 'status_name', 'delivery_type_name' ]);
                    },
                    'order_goods' => function($query) {
                        $query->field('order_goods_id, order_id, member_id, goods_id, sku_id, goods_name, sku_name, goods_image, sku_image, price, num, goods_money, is_enable_refund, goods_type');
                    },
                    'member' => function($query) {
                        $query->field('member_id, nickname, mobile, headimg');
                    },
                    'pay_refund' => function($query) {
                        $query->field('refund_no, type, money, create_time, refund_time')->append([ 'type_name' ]);
                    },
                    'refund_log' => function($query) {
                        $query->field('order_refund_no, content, main_type, create_time ,main_id, type')->order("create_time desc")->append([ 'main_name', 'type_name', 'main_type_name' ]);
                    }
                ])->append(['status_name', 'refund_type_name'])->findOrEmpty()->toArray();

        return $info;
    }

 

标签:refund,name,便捷,order,time,thinkphp,简写,type,id
From: https://www.cnblogs.com/agressor/p/17962920

相关文章

  • 探索短链接:让网络分享更便捷
    短链接是一种将长网址缩短为简洁形式的编码,它在互联网领域具有广泛的应用。本文将从多个方面介绍短链接的原理、类型、优势及应用场景,帮助您深入了解这一重要的网络技术。短链接|一个覆盖广泛主题工具的高效在线平台(amd794.com)https://amd794.com/shorturl一、短链接简介......
  • thinkphp6的join连表查询
    说明join要关联的(完整)表名以及别名,支持三种写法:写法1:['完整表名或者子查询'=>'别名']写法2:'完整表名别名'写法3:'不带数据表前缀的表名'condition关联条件,可以为字符串或数组,为数组时每一个元素都是一个关联条件。type关联类型,可以为:INNER、LEFT、RIGHT、FULL,......
  • 研发型企业如何选择高效便捷的数据摆渡解决方案?
    研发型企业在市场经济发展中发挥着至关重要的作用,研发型企业是指以科技创新为核心,以研发新产品、新技术、新工艺为主要业务的企业。这类企业注重技术创新和研发,持续不断地进行技术创新和产品升级,为经济发展注入新鲜的活力。研发型企业分布在各行各业,不论是以创新创造为核心的新......
  • 一款便捷操作移动设备的PC工具
    说明该项目基于【Tinyui】框架开发。为电脑端(Windows/MacOS/Linux)操作移动设备提供便捷操作的工具。项目代码已开源:☞Github☜☞Gitee☜功能运行由于采用Python语言开发,因此需要安装Python运行环境,Python2.x(建议使用最后一个版本:2.7.18),Python3.x(推荐3.9以上版本)......
  • 一机多用,实现Line多开的便捷操作
    一机多用是指在一台设备上实现多种功能和应用的使用,这种方式既节省了成本,又方便了用户。而在手机应用方面,Line是一款非常流行的即时通讯软件,在生活和工作中被广泛使用。但是,很多人可能会遇到一个问题:如何在一台设备上同时登录多个Line账号呢?下面就介绍一种实现Line多开便捷操作的......
  • thinkPhp的学习笔记(二)
    7.thinkphp自动验证-->$_validatearray(验证字段,验证规则,错误提示,[验证条件,附加规则,验证时间])1.验证字段需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等。有个别验证规则和字段无关的情况下,验证字段是可以随意设置的,例如ex......
  • thinkPhp的学习笔记(一)
    1.A()用于实例化其他控制器的$obj=A('Test');$obj->test1();等同于$obj=newTestController();$obj->test1();2.C()C('配置的名称')用来获取配置信息。3.R()类似于A(),不同的是R()函数在实例化控制器的时候把操作方法一起传递过去,省略了方法的调用。R('Test/test1');4.M(),D......
  • 软件多开助手的便捷之道:管理多个邮箱账号
    软件多开助手:管理多个邮箱账号的便捷之道导语:在现代社会中,我们越来越依赖电子邮件来进行工作和沟通。然而,对于那些需要同时管理多个邮箱账号的人来说,这可能成为一项繁琐的任务。本文将介绍一种便捷的方法,即使用软件多开助手来管理多个邮箱账号,提高工作效率,使我们能够更好地处理邮......
  • ThinkPHP6 关于事件的简单应用
    一、序章ThinkPHP6的手册中关于【事件】章节的介绍都是直接文字说明,给出创建的类文件,并没有一个好的示例来进行补充说明。对于刚接触【事件】的同学在阅读理解上增加了一点点困难,本文就在此结合示例简单叙述下。 二、事件事件的使用分两种方式,一个是不使用事件类,另一个使用事......
  • 专业、便捷的跨网文件摆渡产品,需要具备哪些功能特性?
    为了确保内部核心资产的安全性,很多企业和机构都会选择将网络进行隔离划分,比如内外网隔离,办公网、研发网隔离等。但网络隔离后,在日常工作中,仍存在用户需求把文件数据从内网到外网,从办公网到研发网终端的文件摆渡业务需求。很多企业都会使用一些传输工具和方式,进行文件摆渡传输。......