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()和每个用户一个接一个,但这会让页面加载时间很长