通过查找许多选择列,并在拉拉维尔的雄辩中保持关系



我正在尝试获取帖子和作者。但是,我只需要帖子的标题和作者信息。

这是我正在运行的查询:

// I want post titles with IDs of 1, 2, 3, 4 and 5 and the author of each one
Post::with('author')->findMany([1, 2, 3, 4 , 5], ['post_title');

生成的集合具有post_title罚款,但作者关系为

但是,如果我运行:

Post::findMany([1, 2, 3, 4, 5])->with('author');

我可以在$post->author->first_name中访问作者。

我不明白如果我指定我需要哪些列,为什么关系会丢失。

那么,如何查询帖子表,指定我想选择哪些列并保持与作者的关系?

您必须选择Postid,因为当您使用该方法时with这意味着您正在使用Laravel预先加载,预先加载需要Postid来加载author

Post::with('author')->findMany([1, 2, 3, 4 , 5], ['id','post_title');

最新更新