【问题标题】:How can i filter pivot table with One to Many relation inside - Laravel 7我如何过滤具有一对多关系的数据透视表 - Laravel 7
【发布时间】:2020-12-18 02:20:39
【问题描述】:

表格

例如,我有 4 个表:

Tables Diagram

型号

// 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);
}

问题

我希望所有 PlacedBets 其中放置的_bets_has_odds.result_id 等于 null。但我不知道如何在我的 PlacedBetRepository 文件中使用 Eloquent 来做到这一点。

感谢您的帮助

【问题讨论】:

  • PlaceBets 和结果模型之间没有关系

标签: php laravel eloquent relational-database


【解决方案1】:

您可以使用whereDoesntHave 获取空关系。

PlaceBets::whereDoesntHave('results)->get();

但正如@Naveed Ali 在评论中所暗示的那样,您需要在 PlaceBets 模型中放置一个结果关系;

public function results()
{
  return $this->belongsToMany(Result::class, 'placed_bets_has_odds');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 2018-09-23
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    相关资源
    最近更新 更多