使用没有关联数组的Laravel&#39s的pluck方法

时间:2017-01-10 12:31:17

标签: php arrays laravel associative-array pluck

我们说我有一个Article集合,我想要获取热门文章。

首先,我在scopePopular()方法中创建Article方法。非常简单。

现在我想要提取他们的id,所以我会这样做:

Article::popular->pluck('id');

结果将是一个关联数组:

[
    0 => 1,
    1 => 34,
    2 => 17
    ...
];

我想要一个普通的数组,没有键,比如:

[1, 34, 17]

我知道我可以做这样的事情:

array_values(Article::popular->pluck('id'));

但我相信Laravel有更清洁的方法来做到这一点。有什么想法吗?

4 个答案:

答案 0 :(得分:5)

所有数组都有索引。

[
    0 => 1,
    1 => 34,
    2 => 17
];

等于

[1, 34, 17]

换句话说:

$a1 = [0 => 1, 1 => 34, 2 => 17];
$a2 = [1, 34, 17];
$a1 === $a2;
// returns True

答案 1 :(得分:0)

您可以使用values()方法,它是array_values()的包装器:

Article::popular->pluck('id')->values();

答案 2 :(得分:0)

它正是你需要的和你得到的,默认情况下,php有0的增量键。

你想要看到像我假设的JSON数组。 只需返回数组,您将在浏览器中看到JSOn数组,但内部只是这样。

请确认并告诉我。谢谢

答案 3 :(得分:0)

$store_type = \App\Websites::find($request->store_id)->first()->store_type;

//输出-只是一个字符串,例如“ live” //有一个示例,如demo,live,staging ...

这可能对其他人有用。

相关问题