gpt4 book ai didi

mysql - 在查找中使用列约束时未加载关系

转载 作者:行者123 更新时间:2023-11-29 13:03:46 27 4
gpt4 key购买 nike

我在 Eloquent 上遇到了一个有点奇怪的问题。我先给你代码,然后解释:

$article = Article::with('comment.reply')->find($id)->toJSON();

这个查询做了它应该做的事情。它从文章表中加载数据,然后从评论表中加载所有评论,然后从回复表中加载所有回复,最后以 JSON 格式输出所有内容。一切都很棒。

$article = Article::with('comment.reply')->find($id, array('short_title'))->toJSON();

理论上,这个查询应该做完全相同的事情,但限制是只从articles表中加载short_title,对吧?再猜。现在发生的情况是,正在加载短标题,查询评论表,但不知何故神奇地返回一个空结果,并且回复表被完全忽略。

我的期望是错误的还是我在这里做错了什么?关系比较简单,articles->hasMany('comments') 和 comments->hasMany('replies')。

最佳答案

问题是您没有选择键,而 Eloquent 需要这些键才能正确构建集合。所以基本上这样做:

$article = Article::with('comment.reply')->find($id, array('id', 'short_title'))->toJSON();

如果您查询还加载的关系,您还需要选择父键(article_id、comment_id 等)

关于mysql - 在查找中使用列约束时未加载关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22998836/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com