Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
计算laravel中登录用户的帖子数_Laravel - Fatal编程技术网

计算laravel中登录用户的帖子数

计算laravel中登录用户的帖子数,laravel,Laravel,我想有一个登录用户的帖子数量 我试过了,但我不知道怎么用 public function limitation() { $limit = 3; $ads = User::WithCount('ads')->get(); } 如果您已正确设置了用户帖子关系,则任何帮助都将生效,如下所示: 类用户{ 公共职能职位(){ 返回$this->hasMany('App\Posts') } } 然后你可以像这样得到用户的帖子 $user=Auth::user(); $num

我想有一个登录用户的帖子数量

我试过了,但我不知道怎么用

public function limitation()
{
    $limit = 3;
    $ads = User::WithCount('ads')->get();    
}

如果您已正确设置了用户帖子关系,则任何帮助都将生效,如下所示:

类用户{
公共职能职位(){
返回$this->hasMany('App\Posts')
}
}
然后你可以像这样得到用户的帖子

$user=Auth::user();
$numPosts=$user->posts()->count();

阅读有关关系以及如何在此处查询关系的更多信息:

确保定义了正确的模型命名

此外,还必须定义用户和帖子之间的关系

用户模型

public function posts()
{
   return $this->hasMany(Posts::class);
}
在控制器中

public function userPosts()
{
    $userId = auth()->user()->id;
    $userPostCount = User::where('id', $userId)->withCount('posts')->first(); //Suggest:- it will return post counts along with user details

    //or auth()->user()->posts()->count() //it will return only post count

    // or if you want to count with post also
    // $userPosts = User::where('id', $userId)->with('posts')->withCount('posts')->first(); // it will return user posts and post counts along with user data

    return $userPostCount; // or $userPosts
}

有关更多信息,请阅读:

使用跳过和获取功能

$limit = 3;
$ads = User::WithCount('ads')->skip(0)->take($limit)->get();
它起作用了

$limit=3

   $userId = auth()->user()->id;

  $userPostCountId = User::where('id', $userId);

   $posts=User::withCount('ads')->first(); //Suggest:- it will return post counts 
以及用户详细信息

     if ($userId>0) {
         # code...
       if(isset($posts->ads))

       {
       $count = sizeof($posts->ads);

        if ($count>=$limit) {
return redirect()->route('ad.index')


你得到的是什么错误?它不显示错误,而是显示所有用户的帖子数量。我只是想连接用户的帖子数量并限制其发布数量。我真的不明白你的问题,但我认为你正在努力实现这一点$ads=User:withCount('ads')->get()->count();我的问题是如何限制已连接用户的post编号请使用“id”表示该用户的标识符?因为它会将此错误消息返回给我。试图获取非objectit的属性“id”似乎用户未登录。首先,检查
$userId
是否存在。它显示登录用户的帖子数。如果我尝试检索变量中的数字并将其与$limit进行比较,它将显示登录用户的帖子数量。“广告数量”=>2?当我执行dd($userPostCount)时,如果我尝试检索变量中的数字并将其与$limit进行比较
        }

     }