[英]How can i filter pivot table with One to Many relation inside - Laravel 7
For example, i have 4 tables:例如,我有 4 个表:
// PlacedBet
public function odds()
{
return $this->belongsToMany(Odd::class, 'placed_bets_has_odds');
}
// Odd
public function placedBets()
{
return $this->belongsToMany(PlacedBet::class, 'placed_bets_has_odds');
}
// Result
public function placedBetsOdds()
{
return $this->hasMany(PlacedBetOdd::class);
}
// PlacedBetOdd
public function result()
{
return $this->belongsTo(Result::class);
}
I want all PlacedBets where placed_bets_has_odds.result_id equal null.我想要所有 PlacedBets 其中 placed_bets_has_odds.result_id 等于 null。 But i don't know how can i do that with Eloquent in my PlacedBetRepository file.但我不知道如何在我的 PlacedBetRepository 文件中使用 Eloquent 做到这一点。
Thank you for your help感谢您的帮助
You can use whereDoesntHave to get null relationships.您可以使用whereDoesntHave来获取空关系。
PlaceBets::whereDoesntHave('results)->get();
But as @Naveed Ali has implied in the comment, you would need to place a results relationship in the PlaceBets model;但正如@Naveed Ali 在评论中暗示的那样,您需要在 PlaceBets 模型中放置结果关系;
public function results()
{
return $this->belongsToMany(Result::class, 'placed_bets_has_odds');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.