我如何过滤内部具有一对多关系的数据透视表 - Laravel 7

表格

例如,我有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);

}

问题

我希望所有 PlacedBets 都为 null。但我不知道如何在 PlacedBETRepository 文件中使用 Eloquent 来做到这一点。


感谢您的帮助


慕姐4208626
浏览 60回答 1
1回答

交互式爱情

您可以使用whereDoesntHave获取空关系。PlaceBets::whereDoesntHave('results)->get();您需要在 PlaceBets 模型中放置结果关系;public function results(){   return $this->belongsToMany(Result::class, 'placed_bets_has_odds'); }
打开App,查看更多内容
随时随地看视频慕课网APP