laravel8でアクセッサが動作しないと思ったら、カラム名がcamelCaseだとアクセッサが効かない!

laravel8でアクセッサが動作しないと思ったら、カラム名がcamelCaseだとアクセッサが効かない!

参考URL
https://qiita.com/naniwadari/items/07bd0329006ac06c94fe

明らかにコールされていない!

Modelにpublic static $snakeAttributes = false;を追加したら
camelCaseでも、アクセッサが動作した。

内部的にはgetArrayableAttributes() → toArray() の流れで
Str::snake($attributeName)
「モデルの属性名」と「アクセサのメソッド名」を照合しています。

これは気づかない・・・。 eloquent(ORマッパー)とか便利だけどブラックボックスだからな~。

実はこの $snakeAttributes の存在、
Laravel のドキュメントにはほとんど書かれていません。
だから 「なんで toArray() だと呼ばれない?」と悩む人が多い んです。
(GitHub issue にも同様の質問が結構あります)