2017-02-15 46 views
1

我是新來的Laravel和我想知道如何用雄辯的模型加入MAX(日期)記錄......Laravel洋洋灑灑模型加入MAX記錄

App\SchemasGroup::find(7)->schemas()->get()->max('schemasVersion')->get(); 

我找到一組基於ID的模式(schemas_groups表),然後從該組(模式表)獲取模式,並且我想從schemas_versions表中加入最後一個版本的日期和版本字段(所以,最大日期或版本場)...

關係被定義爲:

class SchemasGroup extends Model 
{ 
    public function schemas() { return $this->hasMany('App\Schema'); } 
} 

class Schema extends Model 
{ 
    public function group() { return $this->belongsTo('App\SchemasGroup'); } 
    public function versions() { return $this->hasMany('App\SchemasVersion'); } 
} 

class SchemasVersion extends Model 
{ 
    public function schema() { return $this->belongsTo('App\Schema'); } 
    public function updatedBy() { return $this->belongsTo('App\User','updated_by'); } 
} 

獲取更新最新版本的用戶名也是可愛的...

回答

1

顯然,定義鏈接模型很容易。

class Schema extends Model 
{ 
    public function group() { return $this->belongsTo('App\SchemasGroup'); } 
    public function versions() { return $this->hasMany('App\SchemasVersion'); } 
    public function latestVersion() { return $this->hasOne('App\SchemasVersion')->latest(); } 
} 

,然後與獲取數據:

App\SchemasGroup::with('schemas.latestVersion.updatedBy')->find($schemaGroupId);