検索

ホームページ  >  に質問  >  本文

Laravelコントローラーから変数を渡すときにブレード内の変数が未定義になる

<p>それで、<code>model</code> と <code>controller</code> から文字列を返したいのですが、<code> を使用すると常に未定義変数と表示されます dd でチェックすると($ それは a)</code> と <code>dd($b)</code> を正常に渡します。私が何を間違えたのでしょうか? </p> <p><code>about.blade:</code></p> <pre class="brush:php;toolbar:false;">@extends('layout.template'); @section('homeContainer'); <p> {{ $a }} </p> <br> <p>{{ $b }}</p> @endsection</pre> <p><code>コントローラーについて:</code></p> <pre class="brush:php;toolbar:false;"><?php 名前空間 App\Http\Controllers; Illuminate\Http\Request を使用します。 App\Models\AboutModel を使用します。 クラス AboutController はコントローラーを拡張します { // パブリック静的関数 info(){ $a = AboutModel::info(); $b = "このデータはコントローラーからのものです"; return view('about', Compact('a', 'b')); } }</pre> <p><code>モデルについて:</code></p> <pre class="brush:php;toolbar:false;"><?php 名前空間 App\Models; Illuminate\Database\Eloquent\Factories\HasFactory を使用します。 Illuminate\Database\Eloquent\Model を使用します。 クラス AboutModel はモデルを拡張します { HasFactoryを使用します。 パブリック静的関数 Info(){ $a = "この値はモデルからのものです"; $a を返します。 } }</pre> <p><code>説明: </code></p> <pre class="brush:php;toolbar:false;"><?php Illuminate\Support\Facades\Route を使用します。 App\Http\Controllers\AboutController を使用します。 /* |------------------------------------------------- ----------------------- | ウェブルート |------------------------------------------------- ----------------------- | | ここでは、アプリケーションの Web ルートを登録できます。 | ルートは RouteServiceProvider によってロードされ、すべてのルートがロードされます。 | 「Web」ミドルウェア グループに割り当てられます。何か素晴らしいものを作りましょう! | */ Route::get('/', function () { return view('ようこそ'); }); Route::get('/about', function () { return view('about', [ "name" => AboutController::info(), ]); });</pre></p>
P粉056618053P粉056618053459日前475

全員に返信(2)返信します

  • P粉111641966

    P粉1116419662023-09-01 14:48:55

    コントローラーは実行されず、web.php ファイル内のコールバックのみが実行されます。 これは、a および b 変数はなく、name 変数のみがあることを意味します

    返事
    0
  • P粉194919082

    P粉1949190822023-09-01 11:02:49

    ###お返事ありがとうございます!モデルを変数およびルートとして誤って宣言したことが判明しました。

    変更したルートについては

    リーリー

    コントローラーとモデルについては、静的を削除し、モデル宣言を変更します

    コントローラー: リーリー ######モデル:###### リーリー

    返事
    0
  • キャンセル返事