0

Articles コレクションがあり、人気のある記事を取得したいとしましょう。

scopePopular()ということで、まずメソッド内にメソッドを作りArticleます。とてもシンプルです。

今、私は彼らの を取得したいidので、これを行います:

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

結果は連想配列になります。

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

次のように、キーなしで通常の配列を取得したい:

[1, 34, 17]

私は次のようなことができることを知っています:

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

しかし、Laravel にはこれを行うためのよりクリーンな方法があると思います。何か案は?

4

4 に答える 4

7

すべての配列にはインデックスがあります。

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

に等しい

[1, 34, 17]

言い換えると:

$a1 = [0 => 1, 1 => 34, 2 => 17];
$a2 = [1, 34, 17];
$a1 === $a2;
// returns True
于 2017-01-10T12:40:59.810 に答える
1

values()次のラッパーであるメソッドを使用できますarray_values()

Article::popular->pluck('id')->values();
于 2017-01-10T12:35:09.487 に答える
0

まさに必要なものと得られるものです。デフォルトでは、php には 0 からの増分キーがあります。

私が想定するJSON配列のようなものを見たいと思っています。配列を返すだけで、ブラウザにJSOn配列が表示されますが、内部的にはこれだけです。

確認してお知らせください。よろしくお願いします

于 2017-01-10T12:35:19.837 に答える