前提・実現したいこと
コントローラーに書いたSQLの実行結果をビューに表示したい。
(初心者なので、言葉が不正確なのは、すみません。)
コントローラーに書いたSQLの実行結果をビューに表示しようとしたら、以下のエラーメッセージが発生しました。
エラーメッセージ
ErrorException array_merge(): Argument #2 is not an array
ビュー
//ファイル名:index.blade.php <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h1>Hello,</h1> <h1>{{ $proverb }}</h1> </body> </html>
コントローラー
//ファイル名:ProverbFormController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class ProverbFormController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $proverbs = DB::table('proverbs')->select('proverb_contact')->inRandomOrder() ->first(); // dd($proverbs); return view('Proverb.index', $proverbs); //return view('Proverb.index'); } }
ルート
<?php use Illuminate\Support\Facades\Route; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ // Route::get('/', function () { // return view('welcome'); // }); Route::get('/', 'ProverbFormController@index'); Route::resource('Proverb', 'ProverbFormController');
試したこと
・ひたすら半日ググり続けて、サイトに載っていることを試した。
補足情報(FW/ツールのバージョンなど)
Laravel Framework 7.27.0
解決後、dd、ソース
ビュー
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h1>Hello,</h1> <h1>{{ $proverbs->proverb_contact }}</h1> </body> </html>
コントローラー
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class ProverbFormController extends Controller { /** ** Display a listing of the resource. ** ** @return \Illuminate\Http\Response **/ public function index() { // $proverbs = DB::table('proverbs')->select('proverb_contact')->inRandomOrder() ->first(); // $aiuer='あいうえお'; // dd($aiuer); dd($proverbs); return view('Proverb.index', compact('proverbs')); //return view('Proverb.index'); } }
回答2件
あなたの回答
tips
プレビュー