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

笔记记录

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

B表的model
B表关联C表

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


namespace appadminmodelmachine;
class CapacityStateList extends Model
{
  /**
     * 查询关联自身的标题
     * @return thinkmodelrelationBelongsTo
     */
    public function pidtitle()
    {
        return $this->belongsTo('appadminmodelmachineCapacityStateList', 'pid', 'id', [], 'LEFT')->setEagerlyType(1);
    }

}

A表的model
A表关联B表

namespace appadminmodel;
class Machinelist extends Model
{
    /**
     * 查询关联 B 表的标题
     * @return thinkmodelrelationBelongsTo
     */
    public function machinestate()
    {
        return $this->belongsTo('appadminmodelmachineCapacityStateList', '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'},

记录下来。

原文地址:https://blog.csdn.net/qq_42580037/article/details/134802109

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47492.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注