Laravel5 LEFT JOIN したら ID が null になった場合の対処法


laravel 5.2 でシステムを作っていたところ、 LEFT JOIN を使った問い合わせ(SQL実行)をしたら、 id カラムが取れなくなりました。 そのときの対処法を紹介します。

問題

問題が出たのは次のようなコードです。

LEFT JOIN で2つテーブルを結合しています。 しかし、取得されたデータ(モデルオブジェクト)は id = null となります。

対処法

最後の get のところを少し変えます。

もしくは、次のようにして全カラムを記述することでも解決できます。

paginate する場合

Laravel の paginate を使う場合は paginate の第2引数にカラムを記述します。