TP5兼容的最终关联定义

getfuner 178 0

碰到要查询多个表的数据展示,可以用thinkphp的关联定义

/**
 * 关联管理员
 */
public function adminList()
{
    return $this->belongsTo('AdminModel', 'admin_id', 'id', [], 'LEFT')
                ->bind(['admin_name']); // 把 admin_name 直接绑定到当前模型结果
}

/**
 * 关联用户
 */
public function users()
{
    return $this->belongsTo('UsersModel', 'users_id', 'id', [], 'LEFT')
                ->bind(['nickname','email']); // 可以绑定多个字段
}
$list = $this->model
    ->with(['adminList','users'])
    ->alias('a')
    ->field('a.*,c.title as archives_title,c.users_price')
    ->join('__ARCHIVES__ c', 'a.aid = c.aid', 'LEFT')
    ->where($condition)
    ->order('a.status asc,a.update_time desc,a.add_time desc')
    ->limit($pageObj->firstRow.','.$pageObj->listRows)
    ->select();

foreach ($list as $row) {
    echo $row['admin_name']; // 直接用,不会报错
    echo $row['nickname'];
}

TP5兼容的最终关联定义-第1张图片-九零博客 - 一个分享技术、记录生活的个人技术博客


上一个反向代理测试同时打开baidu.com和baidu.com/api

下一个当前已是最新一个了

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~