无法使此 eloquent 查询正常工作

Can't get this eloquent query to work

我正在尝试使用(UserGroup 中的 belongsTo 方法)从 UserGroup 模型和组模型中获取值

在用户组模型中:

public function group()
    {
        return $this->belongsTo('App\Models\Group', 'group_id', 'group_id');
    }

我的查询:

$arrayGroupes = UserGroup::from("user_group as ug")
->with( ['group' => function($query){
    $query->select('group_id','name as name_group', DB::raw("IF(restricted=1,1,0) as restricted"), "transfer_only");
}])->select("ug.user_id", "u.first_name", "u.surname")
   ->join("users as u", "u.user_id", "=", "ug.user_id")
   ->whereIn("ug.group_id", [1,2,3,4,5])
   ->where("ug.active", "=", 1)->get();

Return null 但如果只做

$arrayGroupes = UserGroup::with( ['group' => function($query){
        $query->select('group_id','name as name_group', DB::raw("IF(restricted=1,1,0) as restricted"), "transfer_only");
    }])->whereIn("group_id", [1,2,3,4,5])
       ->where("active", "=", 1)->get();

它可以工作,但不能 select 只有来自 UserGroup 的一些值... 有人回答我吗? 谢谢!

$userGroups = UserGroup::from("user_group as ug")
    ->join("users as u", "u.user_id", "=", "ug.user_id")
    ->select("ug.user_id", "ug.group_id", "ug.active", "u.first_name", "u.surname")
    ->with( ['group' => function($query){
        $query->select('group_id','name as name_group', DB::raw("IF(restricted=1,1,0) as restricted"), "transfer_only");
    }])
    ->whereIn("ug.group_id", [1,2,3,4,5])
    ->where("ug.active", "=", 1)
    ->get();

试试这个。未测试。