繁体   English   中英

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_status sign_status每个分配都有其timestamp ,因此我可以获得有关最后状态的信息,但是如何在Model方法中实现此目的呢?

有必要以这种方式执行此操作,因为这样我将构建一个查询,例如:

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

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

谢谢!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM