Php Laravel雄辩的求和顺序

Php Laravel雄辩的求和顺序,php,laravel,eloquent,Php,Laravel,Eloquent,我有我的桌子: user id name battles user1_id user2_id vote1 vote2 users id name 我想通过total win获得用户订单,但我找不到如何用雄辩来实现 下面是一个示例(这不起作用,只是为了说明): 但是如果vote2>vote1,它也需要工作 因此,如果我有: Users : id: 1, name: Jo

我有我的桌子:

    user
       id
       name

   battles
      user1_id
      user2_id
      vote1
      vote2

   users
       id
       name
我想通过total win获得用户订单,但我找不到如何用雄辩来实现

下面是一个示例(这不起作用,只是为了说明):

但是如果vote2>vote1,它也需要工作

因此,如果我有:

Users :
id: 1, name: John
id: 2, name: Bob
id: 3, name: Max

Battles :
user1_id : 1, user2_id : 2, vote1 : 180, vote2 : 3
user1_id : 1, user2_id : 3, vote1 : 110, vote2 : 90
user1_id : 2, user2_id : 3, vote1 : 1, vote2 : 9
user1_id : 3, user2_id : 4, vote1 : 900, vote2 : 0
user1_id : 3, user2_id : 1, vote1 : 10, vote2 : 30
我想按以下顺序返回用户集合:

约翰(3胜,1战,2战,5战)

最大值(2胜,3战,4战)

鲍勃(0胜)


谢谢

尝试与以下请求求和:

通过用户1方获得胜利:

$wins1 = $this->user->battles->where('user1_id', $this->user->id)->sum('battles.vote1', '>', 'battles.vote2')->get();
通过user2端获得胜利:

    $wins2 = $this->user->battles->where('user2_id', $this->user->id)->sum('battles.vote1', '<', 'battles.vote2')->get();

尝试与以下请求求和:

通过用户1方获得胜利:

$wins1 = $this->user->battles->where('user1_id', $this->user->id)->sum('battles.vote1', '>', 'battles.vote2')->get();
通过user2端获得胜利:

    $wins2 = $this->user->battles->where('user2_id', $this->user->id)->sum('battles.vote1', '<', 'battles.vote2')->get();

为什么在求和函数中使用比较?顺便说一句,它不会像你想象的那样工作。@aynber“这里有一个例子(这不起作用,只是为了说明):“这条线就在下面,是为了说明我想要什么,因为我不知道怎么做,也很难解释。你为什么在求和函数中使用比较?顺便说一句,它不会像你想象的那样工作。@aynber“这里有一个例子(这不起作用,只是为了说明):“这条线就在下面,是为了说明我想要什么,因为我不知道怎么做,也很难解释。我需要一个所有用户的集合,我知道如何使用一个用户:all()每个用户一个接一个,但这会让页面加载时间很长我需要所有用户的集合,我知道如何使用一个用户:all()和每个用户一个接一个,但这会让页面加载时间很长