Solved: Voyagerをインストールしたらあらかじめ設定していたUserのdefault avatarがうまく取得できなくなった。

voyager@1.3

 

サーバーからのレスポンスでUserのavatarがnullの場合、javascript側でdefaultのavatarを設定していたがvoyagerをインストールしてからDB上でUserのavatarがnullでもusers/default.pngという値が勝手にサーバーからのレスポンスに付与されるようになってしまって適切な値が取得できなくなった。

 

solution)

config/voyager.phpでuserのconfigurationを変更する。

'user' => ['default_avatar' => 'users/default.png']

コメントアウトしてもダメ。'users/default.png'を適切な値に直す。

 

なぜなら、

/laravel/vendor/tcg/voyager/src/Models/User.php:で

f:id:monteecristoo:20191220115855p:plain

defaut_avatarの設定がない場合はusers/default.pngに設定するとしているから

ref: 

Null 合体演算子

https://www.php.net/manual/ja/language.operators.comparison.php#language.operators.comparison.ternary

 

voyager.phpの変更が反映されない場合はphp artisan config:clear