pluckメソッドでkeyとvalueを取得して、toArrayでコレクションを配列にする。
ちなみにコレクションとは配列を拡張したLaravel独自の型のこと
Laravel側からデータベースを取得したときは、コレクション型になっている。
public function index()
{
$tags = Tag::pluck('title', 'id')->toArray();
dd($tags);
}
結果
array:10 [▼
1 => "タグ1"
2 => "タグ2"
3 => "タグ3"
4 => "タグ4"
5 => "タグ5"
6 => "タグ6"
7 => "タグ7"
8 => "タグ8"
9 => "タグ9"
10 => "タグ10"
]
注意点としては、pluckメソッドの第1引数がvalueで、第2引数がkeyとなる。
試しにpluckメソッドの引数を逆にしてみる。
public function index()
{
$tags = Tag::pluck('id', 'title')->toArray();
dd($tags);
}
出力結果
array:10 [▼
"タグ1" => 1
"タグ2" => 2
"タグ3" => 3
"タグ4" => 4
"タグ5" => 5
"タグ6" => 6
"タグ7" => 7
"タグ8" => 8
"タグ9" => 9
"タグ10" => 10
]
titleがkeyになり、idがvalueとなりました。
何か間違っている点があればアドバイスお願いします。ありがとうございました。
↧