我写了这篇文章,我只是想知道它是否是最好的方法。 订单有很多交易...交易属于订单。我查询的订单的ID大于发送到履行的最后一个ID。然后我只想要已批准付款状态或离线付款类型的订单。
此代码有效,只是想知道它是否是最好的方法:
def checkWin(player):
return any(all(board[square] == player for square in test)
for test in wins)
修改
以下是SQL语法:
>>> board = [ 'O', 'X', ' ', 'O', ' ', 'X', 'O', 'X', 'X' ]
>>> wins = [[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,4,8],[2,4,6]]
>>> def checkWin(player):
... return any(all(board[square] == player for square in test)
... for test in wins)
...
>>> checkWin('X')
False
>>> checkWin('O')
True
谢谢!
答案 0 :(得分:2)
这绝对是构建此查询的正确Laravel方法。这几乎总是生成一个非常优化的查询,通常是LEFT JOIN或子查询或两者的组合。
如果您想查看生成的查询的最佳结果,请将->toSql()
添加到该查询语句的末尾,并在此处发布原始查询语法。