Php Laravel嵌套关系查询

Php Laravel嵌套关系查询,php,laravel-5,eloquent,Php,Laravel 5,Eloquent,问题:如何根据审查中的概述栏以及其他相关数据(用户、地址、城市、国家、审查、活动)获得最佳3个组织 PS.组织有许多审查,一般列为1-5级 我有表格组织、用户、评论、活动、地址、城市、国家。 我还为每个表及其关系提供了模型: 示例表组织: class Organization extends Model { protected $table = 'organization'; protected $fillable = ['OrgName']; public function us

问题:如何根据审查中的概述栏以及其他相关数据(用户、地址、城市、国家、审查、活动)获得最佳3个组织

PS.组织有许多审查,一般列为1-5级

我有表格组织、用户、评论、活动、地址、城市、国家。

我还为每个表及其关系提供了模型: 示例表组织:

class Organization extends Model     {
protected $table = 'organization';

protected $fillable = ['OrgName'];

public function user() {
    return $this->belongsTo('App\Models\User', 'UserId', 'Id');
}

public function address() {
    return $this->belongsTo('App\Models\Address', 'AddressId', 'Id');
}

public function review() {
    return $this->hasMany('App\Models\Review', 'OrganizationId', 'Id');
}

public function activity() {
    return $this->belongsTo('App\Models\Activity', 'ActivityId', 'Id');
}
}
到目前为止,我得到了这个:

class OrganizationRepository  {
protected $organization;

function __construct(Organization $organization)
{
    $this->organization = $organization;
}

    public function best3() {
    return $this->organization->with(['address.city.country', 'activity', 'review' => function($query) {
        $query->orderBy('Timestamp', 'desc')->take(1);
    }, 'review.user' ])->where()->take(3)->get(); 
}