【Laravel】リレーションのカラムを指定して配列を作る


リレーションを取得
$test->questions

リレーションでbelongsToのモデルを取得して、尚且つそのカラムを指定して配列を作りたい場合があります。
どうすればよいのか?

array_column()を利用します

array_column(配列, 'カラム名')

これを利用すると、カラムの値で配列をつくることができます

なので、下記のように書きます

リレーションのカラムを配列にする
array_column($test->questions, 'id');

これでリレーションのidの配列が作成されました。

実用例
in_array('1', array_column($test->questions, 'id'));

in_arrayの使って書けば、リレーション先のidで'1'があるか確認できる
このように配列にまとめてチェックしたい場合、主にarray系のメソッドを利用したい場合に利用できるので、
知っておくとすぐに問題解決できるしょう