Laravel Eloquent模型加入MAX记录

时间:2017-02-15 13:17:54

标签: php laravel-5 eloquent

我是Laravel的新手,我想知道如何使用雄辩模型加入最大(日期)记录...

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

我找到一组基于ID的模式(schemas_groups表),然后从该组中获取模式(模式表),我想加入' date'和'版本' 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 个答案:

答案 0 :(得分: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);