当前位置: 首页 > news >正文

fastadmin嵌套关联查询,thinkPHP5嵌套关联查询

fastadmin嵌套关联查询
thinkPHP5嵌套关联查询

笔记记录

嵌套关联查询
A -> B -> C
A 表关联B表
B表关联C表
同时把A/B/C表相关的数据展现出来

B表的model
B表关联C表

我的C表是B表的自身关联。也是一个表,所以为C表


namespace app\admin\model\machine;
class CapacityStateList extends Model
{/*** 查询关联自身的标题* @return \think\model\relation\BelongsTo*/public function pidtitle(){return $this->belongsTo('app\admin\model\machine\CapacityStateList', 'pid', 'id', [], 'LEFT')->setEagerlyType(1);}}

A表的model
A表关联B表

namespace app\admin\model;
class Machinelist extends Model
{/*** 查询关联 B 表的标题* @return \think\model\relation\BelongsTo*/public function machinestate(){return $this->belongsTo('app\admin\model\machine\CapacityStateList', 'machine_list_state_list_id', 'id', [], 'LEFT')->setEagerlyType(1);}
}

A的控制器

public function index(){$this->relationSearch=true;$this->request->filter(['strip_tags', 'trim']);if (false === $this->request->isAjax()) {return $this->view->fetch();}if ($this->request->request('keyField')) {return $this->selectpage();}$list = $this->model->with(['machinestate'=>['pidtitle']])->field('*')
//            ->alias('a')
//            ->field(['a.*','b.id','b.title title','b.pid','c.id id2','c.title title2','c.pid pid2'])
//            ->join('machine_capacity_state_list b',' a.machine_list_state_list_id=b.id ','left')
//            ->join('machine_capacity_state_list c','b.pid=c.id','left')->where("1=1")->where($where)->order($sort, $order)->paginate($limit);$result = ['total' => $list->total(), 'rows' => $list->items()];return json($result);}

原先是想 用 join 进行关联,但是发现用 with更简洁一些。

前端的显示,但是用fastadmin框架 的查询用不了,目前还没搞懂哪里的问题

{field: 'machinestate.pidtitle.title', align: 'left', title: __('title2'),  operate: 'LIKE'},{field: 'machinestate.title', align: 'left', title: __('title'),  operate: 'LIKE'},

先记录下来。

http://www.lryc.cn/news/256413.html

相关文章:

  • Power BI - 5分钟学习拆分列
  • ELK(四)—els基本操作
  • 【100天精通Python】Day75:Python机器学习-第一个机器学习小项目_鸾尾花分类项目(上)
  • gitlab高级功能之容器镜像仓库
  • 线程的使用(二)
  • k8s之镜像拉取时使用secret
  • mysql面试题——MVCC
  • 【华为数据之道学习笔记】1-2华为数字化转型与数据治理
  • 微服务01
  • 作业12.8
  • 已解决error: (-215:Assertion failed) inv_scale_x > 0 in function ‘cv::resize‘
  • Android View.inflate 和 LayoutInflater.from(this).inflate 的区别
  • etcd 与 Consul 的一致性读对比
  • Docker 安装Apache Superset 并实现汉化和快速入门
  • 差异计算基础知识 - 了解期末业务操作、WIP 和差异
  • spring boot定时器实现定时同步数据
  • 第一百九十六回 通过蓝牙发送数据的细节
  • 26.Python 网络爬虫
  • Spring Boot 在启动之前还做了哪些准备工作?
  • SQL语句常用语法(开发场景中)
  • HarmonyOS应用开发者认证:开启全新的智能设备开发之旅
  • Python 模板引擎 Jinja2 的安装和使用
  • 案例063:基于微信小程序的传染病防控宣传系统
  • 53. Protocol buffer 的Go使用
  • 如何访问内部网络做内网穿透
  • git常用命令总结
  • Apollo新版本Beta技术沙龙
  • 数据结构第二次作业——递归、树、图【考点罗列//错题正解//题目解析】
  • Redis--12--Redis分布式锁的实现
  • MongoDB简介与安装