前提・実現したいこと
ECサイトの検索画面を実装しています。
入力フォームに入力したキーワードが引っかからなかった場合
googleでよくみる、もしかして機能を追加しました。
そこで、<a>タグにしたのですがhref先のパラメータ名を上書きしたいです。
ご教授よろしくお願いします。
発生している問題
現状だと上書きはできているのですがURL形式(&で繋がっている文字列)に変換ができず、
他の方法があるのではないかと思っています。
該当のソースコード
PHP
1Controller.php 2public function list(Request $request) 3{ 4 //$suggestionの取得内容については省略 ($suggestionには文字列が入ります。) 5 6 $params = $request->all(); 7 8 //dump($params); 9 //array:2 [▼ 10 //"keyword" => "おもた" ※もしかしてを表示させるため取得しているキーワードは日本語が間違っています。 11 //" color" => "pink" 12 //] 13 14 //keywordを上書きする 15 $params['keyword'] = $suggestion 16 17 //dump($params); 18 //array:2 [▼ 19 //"keyword" => "おもちゃ" 20 //" color" => "pink" 21 //] 22 23 return view('list', ['params' => $params, 'suggestion' => $suggestion]); 24 25}
php
1list.blade.php 2 3<a href="ここを上書きした状態のurlにしたい">もしかして {{ $suggestion }}</a> 4
試したこと
$request->all()で取得している配列をimplodeで文字列にしようと思ったのですが
Array to string conversion
の内容が表示されます。
下記の参考URLだと連想配列も置換できるようでしたので、もう少し調べていますがそもそもパラメータの値を上書きする方法が
間違っているのではないかと思い質問させていただきました。
よろしくお願いします。
参考URL
http://kihon-no-ki.com/php-implode
##追記
####例示
Controller.phpでコメントにて記載している
"keyword" => "おもた" から "keyword" => "おもちゃ" とし <a href="/list?keyword="おもちゃ"&color="pink"">もしかして {{ $suggestion }}</a> というURLにしたいです。
つまり、間違って入力されたキーワードを もしかして 〇〇
で表示されているキーワードに上書きして再検索をかけたいです。
伝わりますでしょうか。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー