ホーム > Laravel > 【Laravel】Filesystem::has(): Argument #1 ($location) must be of type string, null givenの解決方法
Laravel

【Laravel】Filesystem::has(): Argument #1 ($location) must be of type string, null givenの解決方法

いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。

League\Flysystem\Filesystem::has(): Argument #1 ($location) must be of type string, null given

というエラーの解決方法についてまとめました

解決方法

エラー文からはいまいちピンと来なかったのですが、

以下のコードの exists の部分がエラー原因になっていました。

$isFile = Storage::disk('s3')->exists($url); //Nullだとエラー

もともと Laravel5 か 6 で開発されたプロジェクトを 10 にアップグレードした際に発生するようになりました。

これまではexists()に Null が入った際にも False が返っていて問題なかったのが、Null ではダメ、String のみになったんだと思っています(実際のところどうだったかは不明)

以下のように if で囲ったりすれば解決します。

$isFile = false;
if($url){
    $isFile = Storage::disk('s3')->exists($url);
}

誰かの参考になれば幸いです。

フィードバックのお願い
この記事のフィードバックがありましたらYoutubeの適当な動画にコメントしていただいたり、お問い合わせからご連絡ください。