联合查询换成 Eloquent ORM 应该怎么写

Admin用户模型

<?php

namespace App\Models;

class Admin extends User

    public function adminGroup()
    {
      return $this->hasOne(AdminGroup::class,'id', 'group_id');
    }

AdminGroup用户组

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class AdminGroup extends Model
{
    protected $fillable = [
      'group_name','group_desc'
    ];

    public function admin()
    {
        return $this->belongsTo(Admin::class, 'group_id', 'id');
    }
}

控制器中

<?php

namespace App\Http\Controllers\Admin;

use App\Models\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\DB;

class AdminGroupsController extends Controller
{
    public function index()
    {
        $user = Admin::with('adminGroup')->get();
        echo $user;
    }

前端显示
[{"id":1,"name":"admin","setter":"admin","status":1,"real_name":"wangjing","mobile":null,"job_id":null,"job_tel":null,"seat":1,"count":null,"last_login_ip":"127.0.0.1","last_login_date":null,"created_at":null,"updated_at":"2019-04-15 09:20:03","group_id":1,"admin_group":{"id":1,"group_name":"PHP","group_desc":"PHP","created_at":"2019-04-16 16:11:45","updated_at":"2019-04-16 16:11:49"}}]

但是我期望的显示的是
[{"id":1,"name":"admin","setter":"admin","status":1,"real_name":"wangjing","mobile":null,"job_id":null,"job_tel":null,"seat":1,"count":null,"last_login_ip":"127.0.0.1","last_login_date":null,"created_at":null,"updated_at":"2019-04-15 09:20:03","group_id":1,group_name":"PHP","group_desc":"PHP"}}]

如果用别的方法

SELECT
    admins.*,
    admin_groups.group_name

FROM
    admins
    LEFT JOIN admin_groups ON admins.group_id = admin_groups.id

大佬们进来看下呗

如果我用Eloquent ORM 应该怎么做?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

暂时没方法,如果一定要这种格式可以直接jion

5年前 评论
Epona

ORM也支持join方法

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!