Php 如何在laravel中使用与数组的关系
你好,我创建了一个与拉威尔和网站。我的表格帖子与id为的类别相关。 像这样Php 如何在laravel中使用与数组的关系,php,arrays,laravel,Php,Arrays,Laravel,你好,我创建了一个与拉威尔和网站。我的表格帖子与id为的类别相关。 像这样 桌柱 身份证件 标题 类别识别码 表类别 身份证件 名称 描述 我想显示一个分类为post的存档,所以我需要从数据库中获取所有post。但是我不知道如何通过post表中的category\u id获取category 我知道所有数据都是以数组的形式来自数据库的,我不知道如何创建一个关系来从post表中的id获取类别名称 我有一个postpost和categorycategory以及controllerPostContr
桌柱
身份证件
标题
类别识别码
表类别
身份证件
名称
描述
我想显示一个分类为post的存档,所以我需要从数据库中获取所有post。但是我不知道如何通过post表中的category\u id
获取category
我知道所有数据都是以数组的形式来自数据库的,我不知道如何创建一个关系来从post表中的id获取类别名称
我有一个postpost
和categorycategory
以及controllerPostController
和CategoryController
的模型,您需要使用它
在类别
类中,您需要定义如下关系:
public function posts()
{
return $this->hasMany(Post::class);
}
然后,通过调用posts()
方法,可以检索给定类别的所有帖子。例如,要获取类别Id=1的所有帖子,可以执行以下操作:
Category::find(1)->posts
类似地,在Post
类中,可以创建categor()
方法
public function category()
{
return $this->belongsTo(Category::class);
}
从所有帖子中获取所有类别
(1) 然后,您可以使用Laravel集合查找所有帖子的所有类别名称。像这样:
App\Post::all()->map->category->pluck('name')->unique()
注意,在上面的一行中,我利用Collection的map
方法创建一个更高阶的构造来循环所有的帖子
(2) 要在视图中显示,请首先从控制器返回视图
public function index()
{
$categories = App\Post::all()->map->category->pluck('name')->unique();
return view('index', compact('categories');
}
(3) 在index.Blade.php
中显示Blade中的数据,显示如下值:
@foreach($categories as $c)
{{ $c }}
@endforeach
我想提取所有职位的所有类别名称。为此,必须创建一个循环,并且必须输入此代码。但是我不知道如何在视图中显示这一点bladecheck我修改过的答案