前提・実現したいこと
DBに特定のレコードの存在を確認するexistsでなぜrouteがうまくいくかわかりません。existsの戻り値は真偽値でそれ以外の情報はないのに不思議です。existsの戻り値をddで確認してもtrueかfalseしか表示されませんでした。17行目のrouteではcreateで登録した情報が格納されているためそのページに遷移できますが、existsの戻り値でうまく理由はなぜでしょうか
該当のソースコード
ArticleController.php
1 $url = session()->get('info.url'); 2 $duplicate = Article::where('url', $url)->exists(); 3 if (!$duplicate) { 4 if (session()->has('info')) { 5 $article = Article::create([ 6 'url' => session()->get('info.url'), 7 'title' => session()->get('info.title'), 8 'description' => session()->get('info.description'), 9 'thumbnail' => session()->get('info.thumbnail'), 10 'published' => session()->get('info.published'), 11 'author' => session()->get('info.author'), 12 'site_name' => session()->get('info.site_name'), 13 ]); 14 15 session()->forget('info'); 16 if (!empty($article)) { 17 return redirect()->route('article.show', $article); 18 } else { 19 session()->flash('fail_message', '投稿できませんでした'); 20 return redirect('index'); 21 } 22 } 23 } else { 24 return redirect()->route('article.show', $duplicate);⇦なぜここで特定のページに遷移できるかわからない 25 }
補足情報(FW/ツールのバージョンなど)
Laravel 8.79.0
PHP 8.1.1
回答1件
あなたの回答
tips
プレビュー