计算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进行比较
}
}