Laravel Eloquent在Model方法中获得最后的枢轴记录

时间:2016-10-21 09:50:37

标签: php mysql laravel orm eloquent

在标题中,是否可以实现这样的目标?

class Sign extends Eloquent
{
   public function lastStatus()
   {
      return $this->belongsToMany(Status::class)
                  ->withPivot('timestamp')
                  ->orderBy('timestamp', 'desc')
                  ->take(1);
   }
}

signstatus之间存在多对多关系,我有透视表sign_statussign_status中的每个作业都有timestamp,因此我可以获取有关上一个状态的信息,但是如何在模型方法中实现此目标?

有必要这样做,因为那时我将构建一个类似的查询:

Gantry::whereHas('sign.lastStatus', function($q){...});

我将根据状态进行筛选,这是一个错误,以获取至少有一个符号出错的龙门架 - 但我需要在每个符号的最后状态中搜索该错误。

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为它应该是$this->hasMany(Status::class)