Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Php 如何在laravel中使用与数组的关系_Php_Arrays_Laravel - Fatal编程技术网

Php 如何在laravel中使用与数组的关系

Php 如何在laravel中使用与数组的关系,php,arrays,laravel,Php,Arrays,Laravel,你好,我创建了一个与拉威尔和网站。我的表格帖子与id为的类别相关。 像这样 桌柱 身份证件 标题 类别识别码 表类别 身份证件 名称 描述 我想显示一个分类为post的存档,所以我需要从数据库中获取所有post。但是我不知道如何通过post表中的category\u id获取category 我知道所有数据都是以数组的形式来自数据库的,我不知道如何创建一个关系来从post表中的id获取类别名称 我有一个postpost和categorycategory以及controllerPostContr

你好,我创建了一个与拉威尔和网站。我的表格帖子与id为的类别相关。 像这样

桌柱
身份证件
标题
类别识别码
表类别
身份证件
名称
描述
我想显示一个分类为post的存档,所以我需要从数据库中获取所有post。但是我不知道如何通过post表中的
category\u id
获取category

我知道所有数据都是以数组的形式来自数据库的,我不知道如何创建一个关系来从post表中的id获取类别名称

我有一个post
post
和category
category
以及controller
PostController
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我修改过的答案