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 如何在“post sayı”列中显示用户的帖子数量?_Laravel_Post_Count - Fatal编程技术网

Laravel 如何在“post sayı”列中显示用户的帖子数量?

Laravel 如何在“post sayı”列中显示用户的帖子数量?,laravel,post,count,Laravel,Post,Count,如何在post sayı列中显示我的用户帖子数 这是我的用户。刀片: @extends('layouts.app') @section('users') <table class="table"> <thead> <tr> <th scope="col"></th> <th scope="col">Ad</t

如何在post sayı列中显示我的用户帖子数

这是我的用户。刀片:

@extends('layouts.app')

@section('users')

<table class="table">
    <thead>
    <tr>
        <th scope="col"></th>
        <th scope="col">Ad</th>
        <th scope="col">Email</th>
        <th scope="col">Səlahiyyət</th>
        <th scope="col">Post sayı</th>
        <th scope="col">Düzəlişlər</th>


    </thead>
    <tbody>
    @foreach ($users as $user  )
    <tr>
        <th scope="row">{{$user->id}}</th>
        <h4 class="media-heading"> <td><a href="posts/{{$user->id}}" class="anchor-username">{{$user->name}} </a></td></h4>
        <td>{{$user->email}}</td>
        <td>{{$user->getRoles['name']}}</td>
        <td>{{$user->getPost['user_id']}}</td>
        <td><a href="{{route('delete',['id'=>$user->id])}}">Sil</a><br><a href="{{route('edit',['id'=>$user->id])}}">Düzəlt</a></td>
        @endforeach
    </tbody>
</table>

@endsection
我的用户模型:

public function getRoles()
{
    return $this->hasOne('App\Role', 'id', 'role_id');
}

public function getPost()
{
    return $this->hasOne('App\Post', 'user_id', 'id');
}

因为您的控制器中有:$posts=Post::where'user_id',$id->get

您可以在视图中执行此操作:{{$posts->count}

然而,我建议使用所建议的雄辩的关系

您的模型在getPost中应该有一个hasMany关系,应该重命名为getPosts或just posts IMO

此外,确保您的帖子模型包含与用户模型的belongsTo关系

public function user()
{
   return $this->belongsTo('App\User');
}
然后,您可以从控制器中更换以下部件:

$posts = Post::where('user_id', $id)->get();
return view('posts', compact('posts'));
与:

最后,在视图中,它将如下所示:{{$user->posts->count}}*posts是关系的名称

或者:{{auth->user->posts->count}}对于经过身份验证的用户,我认为您不会使用它,因为我认为您在您的示例中正在执行类似于管理CRUD的操作


希望能有帮助

我尝试过这个解决方案,但没有成功。请同时显示您的用户模型,以便我们可以查看您的关系{{{$user->getPost['user\u id']->count}}我尝试过该解决方案,但它在空视图上对成员函数count进行错误调用:C:\xampp\htdocs\site\resources\views\users.blade.php我更新并添加用户模型欢迎访问so。。。基于这些关系,用户只能有0篇或1篇文章,所以你只想知道他们是否有一篇?正如@lagbox已经说过的,如果你使用hasOne关系,你最多有1篇文章,也许你需要使用hasMany关系?
public function posts()
{
    return $this->hasMany('App\Post');
}
public function user()
{
   return $this->belongsTo('App\User');
}
$posts = Post::where('user_id', $id)->get();
return view('posts', compact('posts'));
return view('posts');