当前位置: 首页 > 知识库问答 >
问题:

获取只有一篇文章的用户

乐正涵意
2023-03-14

如何更改此设置以使每个用户仅获得一篇帖子:

User::has('posts')->with('posts')->get()

$users = User::has('posts')->with(['posts', function ($query) {
    $query->first(); //->take(1)
}])->get()

这一个抛出一个错误:

“Illumb/Database/Elount/RelationNotFoundException,消息为“调用模型[App/Models/User]上未定义的关系[]。”

用户使用了许多帖子。

共有2个答案

周祺
2023-03-14

你可以试试看:

$users = User::whereHas('posts', function ($query) {
    $query->havingRaw('COUNT(*) = 1');
})->with('posts')->get();
裴弘
2023-03-14

您可以在模型中具有postposts关系。通过这种方式,您可以查询一个或多个关系,而无需执行额外的操作。

class User
{
    // Add this instead.
    public function post()
    {

    }

    public function posts()
    {

    }
}
 类似资料: