问题标签 [laravel-collection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
68987 浏览

php - 雄辩的集合:each vs foreach

可能不是 Eloquent 系列特有的问题,但它只是在使用它们时突然袭击了我。让我们假设我们有一个$collection对象,它是Illuminate\Support\Collection.

现在,如果我们想对其进行迭代,使用each()闭包与常规foreach. 有吗?

相对

0 投票
12 回答
386106 浏览

laravel - Eloquent 集合:计数和检测空

这可能是一个微不足道的问题,但我想知道 Laravel 是否推荐某种方法来检查从 Eloquent 集合返回的是否$result = Model::where(...)->get()为空,以及计算元素的数量。

我们目前!$result用来检测空结果,够了吗?至于count($result),它实际上是否涵盖了所有情况,包括空结果?

0 投票
4 回答
27532 浏览

php - 如何访问 Laravel 集合对象中的第 n 个对象?

我有一个 laravel 集合对象。

我想在其中使用第 n 个模型。

我如何访问它?

编辑:

我在laravel 文档中找不到合适的方法。我可以在 foreach 循环中迭代集合并在找到第 n 个项目时中断:

但这似乎很混乱。

更简洁的方法是执行一次上述循环并创建一个包含集合中所有对象的简单数组。但这似乎是不必要的重复。

laravel 集合类文档中,有一个 fetch 方法,但我认为这会从与主键匹配的集合中获取一个对象,而不是集合中的第 n 个对象。

0 投票
1 回答
10175 浏览

php - 如何使用 groupBy() 对 Collection 对象进行分组

我的目标是检索所有用户的“项目”,然后按他们的“状态”分组显示在我的视图中。<div>有 4 种可能的状态,每种状态在包含项目信息的页面上都有自己的状态。经过一番摸索,我相信我需要使用这样的groupBy()方法:

这似乎确实进行了某种分组,但是当我遍历集合时,我最多得到 4 个结果,每个状态一个。这并不能真正解决我的问题,因为我需要显示每个状态的所有用户项目,而不仅仅是一个。我必须在这里遗漏一些东西,我真的很想避免对每个状态进行查询并以这种方式显示它们。我想我可以按状态过滤集合并创建 4 个新集合,但这不是groupBy()应该做的吗?

0 投票
9 回答
185712 浏览

php - 如何合并两个 Eloquent 集合?

我有一个问题表和一个标签表。我想从给定问题的标签中获取所有问题。因此,例如,我可能会将标签“旅行”、“火车”和“文化”附加到给定问题上。我希望能够获取这三个标签的所有问题。看起来棘手的是问题和标签关系是在 Eloquent 中定义为 belongsToMany 的多对多关系。

我考虑过尝试合并问题集合如下:

但它似乎不起作用。似乎没有合并任何东西。我是否正确地尝试了这个?另外,在 Eloquent 中是否有更好的方法来获取多对多关系中的一行行?

0 投票
2 回答
817 浏览

laravel - 调用未定义的方法 Illuminate\Database\Query\Builder::make()

简单地尝试直接使用文档中的示例会引发此错误。我把头撞在墙上,我尝试了一切。

尽管上述内容是从文档中直接提取的,但我得到了这个:

需要知道如何从数组中创建自定义集合。我不明白为什么这很困难。

0 投票
2 回答
983 浏览

php - Laravel Eloquent - 集合中的父级列表

我可以1从商店获取用户在媒体上的点赞列表1

但我需要检索媒体列表,所以我尝试了

但后来我得到

未定义属性:Illuminate\Database\Eloquent\Collection::$media

0 投票
1 回答
5659 浏览

laravel - Laravel 收集采摘方法未按预期工作

我已经进入了 Laravel 的奇妙世界,我目前正在研究用假数据植入数据库以进行测试。

我有几张桌子要使用;项目故事

故事表有列;idnameproject_id(这是项目表的 fk)。

我的项目表已经填充了 10 个项目的列表。现在我需要用相关的随机项目填充 100 个故事。我有下面的方法。

我不知道这是否是做我需要的最佳方式。但是,在执行此代码时,每个故事的 project_id 都设置为 1;第一个项目的 ID。

当我在修补程序中执行以下命令时......它总是返回 1 作为 id。

但是当我在修补程序中执行下一个命令时......

它每次返回一个随机项目。这很奇怪。因为如果 ->pluck() 之前的一切都在工作,那么 pluck() 应该获取收集的项目 id...对吗?这是上面命令返回的内容。

请参阅下面的终端窗口屏幕截图以说明我的意思。

在此处输入图像描述

0 投票
1 回答
2998 浏览

php - 如何将收集结果作为具有 ids 的数组获取

它应该很简单,但我错过了一些东西,让我们说这个简单的雄辩:

我想得到带有结果 id 的简单数组,所以它看起来像这样:

但我得到这样的东西:

flatten() 不工作,我得到相同的结果:

http://laravel.com/docs/master/collections#method-flatten

flatten 方法将多维集合展平为一维:

我错过了什么?我记得有一种短线 laravel 方法可以在不遍历数组并创建新数组的情况下获得此结果

0 投票
1 回答
240 浏览

laravel - Laravel 5.1 如何排序

是否可以根据关联模型中关系的值对急切的集合进行排序?

火柴

我有一个匹配列表,$matche->each用于隔离不同匹配可能处于的不同状态:

隔离匹配状态

示例 JSON

但是现在我已经拥有了$finishedMatches我想要的所有东西finish_time,它们位于$finishedMatches[0]->playingMatch->finish_time. 我似乎想不出一种方法可以使用 Laravel 集合来做到这一点。有任何想法吗?