如何在一对多关系中过滤 laravel eloquent 查询
How can i filter laravel eloquent query in one to many relations
我卡在了eloquent查询中!
我想仅显示具有某些 role_id 的用户的所有相关数据。
预订:(有 created_by 字段)
预订模式::
public function user()
{
return $this->belongsTo('App\User','created_by');
}
public function division()
{
return $this->belongsTo('App\Division','division_id');
}
用户 table 有一个列 role_id。
查看:
@if(!empty($allBooking) && count($allBooking)>0)
@foreach($allBooking as $key=>$booking)
<tr>
<td>{{$key+1}}</td>
<td class="text-capitalize">
@if($booking->division && $booking->division->division_name )
{{$booking->division->division_name}}
@else
N/A
@endif
</td>
如何使用 role_id 1 获取所有预订数据?
我也想使用纯 eloquent 从另一个到多个领域获取部门名称。
===============================edit
预算模型::
public function user()
{
return $this->belongsTo('App\User','created_by');
}
public function subHead()
{
return $this->belongsTo('App\SubHead','sub_head_id');
}
副头部模型::
public function head()
{
return $this->belongsTo('App\Head','head_id');
}
工作模式::
public function subHead()
{
return $this->belongsTo('App\SubHead','sub_head_id');
}
public function bookings()
{
return $this->hasMany('App\Booking','work_id');
}
如果 role_id
在 users
table 中,使用 whereHas()
:
Booking::whereHas('user', function($q) use($roleId) {
$q->where('role_id', $roleId);
})->get();
我卡在了eloquent查询中! 我想仅显示具有某些 role_id 的用户的所有相关数据。 预订:(有 created_by 字段)
预订模式::
public function user()
{
return $this->belongsTo('App\User','created_by');
}
public function division()
{
return $this->belongsTo('App\Division','division_id');
}
用户 table 有一个列 role_id。 查看:
@if(!empty($allBooking) && count($allBooking)>0)
@foreach($allBooking as $key=>$booking)
<tr>
<td>{{$key+1}}</td>
<td class="text-capitalize">
@if($booking->division && $booking->division->division_name )
{{$booking->division->division_name}}
@else
N/A
@endif
</td>
如何使用 role_id 1 获取所有预订数据? 我也想使用纯 eloquent 从另一个到多个领域获取部门名称。
===============================edit
预算模型::
public function user()
{
return $this->belongsTo('App\User','created_by');
}
public function subHead()
{
return $this->belongsTo('App\SubHead','sub_head_id');
}
副头部模型::
public function head()
{
return $this->belongsTo('App\Head','head_id');
}
工作模式::
public function subHead()
{
return $this->belongsTo('App\SubHead','sub_head_id');
}
public function bookings()
{
return $this->hasMany('App\Booking','work_id');
}
如果 role_id
在 users
table 中,使用 whereHas()
:
Booking::whereHas('user', function($q) use($roleId) {
$q->where('role_id', $roleId);
})->get();