Laravel 4加载一个具有最新条件和另一个条件的关系


Laravel 4 Load A Relation With Latest and Another Condition

大家好,我这里有一个小代码,可以加载最新的用户状态。我的问题是,我如何扩展它,以便当示例用户1和用户2是2的同一部门id时,他们可以看到这些状态。就像facebook一样,当用户1与用户2是朋友时,用户1可以看到用户2的状态,用户2也可以看到用户1的状态。

$user = Auth::user()->load(['statuses' => function($status)
{
    $status->latest();
}]);

TIA:)

Department hasMany Users,我假设User hasMany Statuses,所以这将起作用:

// Department
public function statuses()
{
  return $this->hasManyThrough('Status', 'User');
}
// Status
public function user()
{
  return $this->belongsTo('User');
}
// User
public function department()
{
  return $this->belongsTo('Department');
}
// usage
$statuses = Auth::user()->department->statuses()->with('user')->latest()->get();