2014-10-27 115 views
0

场景 警报可以有很多标准,许多标准可以有我的警报。Laravel - 给定标准的数据透视表结果总和

用户被分配到一个标准。当用户查看他们的所有criteria时,我希望它显示有多少匹配警报(存储在数据透视表中)的总和。的关系,采用结构化的数据透视表:

Screenshot

因此,例如,我可以访问警报和标准数据,也应该告诉我,为criteria_id = 73,有一个警报比赛​​。

所以Eloquent公式是目前:

public function criterias() 
    { 
     return $this->belongsToMany('Criteria')->withTimestamps(); 
    } 

标准模型中的关系模型警报内

public function getIndex() 
    { 
     $alerts = Criteria::with('coordinate', 'alerts') 
     ->where('user_id', '=', Auth::user()->id) 
     ->get(); 

     $this->layout->content = View::make('users.alert.index', 
      array('alerts' => $alerts)); 
    } 

关系

public function alerts() 
{ 
    return $this->belongsToMany('Alert')->withTimestamps(); 
} 

如果您需要更多信息,请告诉我。非常感谢您的帮助。

+0

你要计算该条件的所有警报或只是唯一的警报? – user3158900 2014-10-27 20:38:38

+0

可能有多个与该用户相关的条件。因此,如果有意义的话,它需要“计算与属于该用户的每个标准相关的所有警报”。 – Ben 2014-10-27 20:51:52

+1

http://stackoverflow.com/questions/25973095/getting-count-from-pivot-table-in-laravel-eloquent#25973237 – 2014-10-28 19:47:51

回答