无法使此 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();
试试这个。未测试。
我正在尝试使用(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();
试试这个。未测试。