Php Laravel将两个Fk加载到同一个表中
我想在Laravel8中使用两个外键到同一个表的关系Php Laravel将两个Fk加载到同一个表中,php,laravel,eloquent,eager-loading,Php,Laravel,Eloquent,Eager Loading,我想在Laravel8中使用两个外键到同一个表的关系 团队表 身份证件 名称 120 德国 245 意大利 您可以包含来自N+1查询包的消息吗?你的代码不应该导致任何错误。您确实有一些重复,winner\u id将匹配home\u id或away\u id,但这不是真正的N+1问题。除非在调用更多查询的循环中执行某些代码,否则您发布的内容不应成为问题。添加了请求的信息。。也许,一切都好吧?对于winner\u id,还有其他想法吗?是的,错误应该是这样的:Relation:winner,add
团队表
身份证件
名称
120
德国
245
意大利
您可以包含来自N+1查询包的消息吗?你的代码不应该导致任何错误。您确实有一些重复,
winner\u id
将匹配home\u id
或away\u id
,但这不是真正的N+1问题。除非在调用更多查询的循环中执行某些代码,否则您发布的内容不应成为问题。添加了请求的信息。。也许,一切都好吧?对于winner\u id,还有其他想法吗?是的,错误应该是这样的:Relation:winner,add with('winner')
,等等。我不确定为什么它认为App\Models\Team
是一种关系,而这显然是类,而不是方法名。对于赢家id
,不太可能。这种方法还可以,但最好只执行公共函数getWinnerAttribute(){return$this->home\u id==$this->winner\u id?$this->home:$this->away;}
,然后,$fixture->winner
将返回预加载的$fixture->home
或$fixture->away
团队记录。我喜欢winner\u id
的aproach。。谢谢你的帮助!