Laravel Eloquent在Model方法中获取最后一个枢轴记录


Laravel Eloquent get last pivot record within Model method

正如标题所示,有可能实现这样的事情吗?

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){...});

我将根据状态进行过滤,这是一个错误,以获得至少一个标志有错误的龙门-但我需要在每个标志的最后状态中搜索该错误。

谢谢!

我觉得应该是$this->hasMany(Status::class)