【问题标题】:Get key from collection item从集合项中获取密钥
【发布时间】:2018-03-04 11:33:55
【问题描述】:

如何从收藏项中获取密钥?

$posts= Post::all();

示例(不起作用):

$key = $posts->where('id', $id)->getKey();

【问题讨论】:

  • 当您在 where 查询中使用它时,您已经知道密钥是 id
  • 集合中的键与特定模型的id 不同。
  • @kjdion84 显示收藏,请以及如何获得它。
  • 我知道我可以使用foreach 循环,想知道如果没有它是否可以完成。我更新了 OP。
  • @kjdion84 all() 将返回没有键的标准集合。请展示该集合并举例说明您在说什么键。

标签: php laravel collections


【解决方案1】:

all() 将返回一个没有键的集合。如果您在谈论 0、1、2 等整数键,请使用 search() 方法:

$key = $posts->search(function($i) use($id) {
    return $i->id === $id;
});

【讨论】:

    【解决方案2】:

    试试$post_ids = Post::pluck('id');

    这仅从所有 Post 记录中获取 id 列并将它们作为集合返回。

    如果你只想要一个普通数组,添加 toArray():

    $post_ids = Post::pluck('id')->toArray();

    【讨论】:

      猜你喜欢
      • 2015-06-24
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 2016-10-11
      • 1970-01-01
      • 2018-02-08
      • 2012-03-14
      • 1970-01-01
      相关资源
      最近更新 更多