自己记录,将就看
$trade_comp_name_model = new TradeCompName();
// trade_comp_name 表sql
$fields = 'trade.id,0 as comp_base_id,trade.trade_base_id,trade.comp_name,trade.role_id,trade.tbbj,trade.psbj,trade.zhpf,role.name as role_name,' . "'trade_comp_name'" . ' as t_name';
$table_sql = $trade_comp_name_model->alias('trade')->field($fields)
->leftJoin('dict_trade_comp_role role', 'trade.role_id = role.id')
->where(['trade.trade_base_id' => $trade_base_id])
->buildSql();
$fields = 'trade.id,trade.comp_base_id,trade.trade_base_id,trade.comp_name,trade.role_id,trade.tbbj,trade.psbj,trade.zhpf,role.name as role_name,' . "'trade_comp_role'" . ' as t_name';
//视图sql
$trade_comp_role_view_model = new TradeCompRoleView();
$view_sql = $trade_comp_role_view_model->alias('trade')->field($fields)
->leftJoin('dict_trade_comp_role role', 'trade.role_id = role.id')
->where(['trade.trade_base_id' => $trade_base_id])
->union($table_sql, false)
->buildSql();
// 返回结果
$data = app('Db')::connect('govern_info')->table($view_sql . ' a')
->field('a.*')->order('a.role_id asc')->paginate($rows)->toArray();