fastadmin中关联表时A为主表,想让B表和C表关联时怎么办?


$sql = Db::connect('数据库')->table('C表')->where('status', 'normal')->field('字段 别称【不可与其他表重复】')->buildSql();
$total = $this->model
                    ->fetchSql(false)
                    ->with(['B表'])
                    ->join([$sql=>'C表'],'C表关联B表字段 = B表关联C表字段','left')
                    ->where($where)
                    ->order($sort, $order)
                    ->count();

上面是自己想的,后来发现了下面这种方法更简单

->with(['B模型'=>['C方法']])
foreach ($list as $row) { 
  $row->visible(['B模型']);
$row->getRelation('B模型')->visible(['C方法']);
$row->seller = ['C字段'=>$row->B模型->C方法->C字段];
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM