Heim  >  Fragen und Antworten  >  Hauptteil

Die Variable im Blade ist undefiniert, wenn die Variable vom Controller Laravel übergeben wird

<p>Ich möchte also eine Zeichenfolge von <code>model</code> zurückgeben, aber es steht immer eine undefinierte Variable, wenn ich jedoch <code> ($ es besteht erfolgreich a)</code> und <code>dd($b)</code>. Was habe ich falsch gemacht? </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>Über den Controller:</code></p> <pre class="brush:php;toolbar:false;"><?php Namespace AppHttpControllers; benutze IlluminateHttpRequest; verwenden Sie AppModelsAboutModel; Die Klasse AboutController erweitert Controller { // öffentliche statische Funktion info(){ $a = AboutModel::info(); $b = "Diese Daten stammen vom Controller"; return view('about', compact('a', 'b')); } }</pre> <p><code>Über das Modell:</code></p> <pre class="brush:php;toolbar:false;"><?php Namespace AppModels; verwenden Sie IlluminateDatabaseEloquentFactoriesHasFactory; verwenden Sie IlluminateDatabaseEloquentModel; Die Klasse AboutModel erweitert Model { benutze HasFactory; öffentliche statische Funktion Info(){ $a = "Dieser Wert stammt vom Modell"; return $a; } }</pre> <p><code>Wegbeschreibung: </code></p> <pre class="brush:php;toolbar:false;"><?php verwenden Sie IlluminateSupportFacadesRoute; verwenden Sie AppHttpControllersAboutController; /* |------------------------------------------------- --------- |. Webrouten |------------------------------------------------- --------- | |. Hier können Sie Webrouten für Ihre Anwendung registrieren |. Routen werden vom RouteServiceProvider geladen und alle werden geladen |. der „Web“-Middleware-Gruppe zugeordnet werden. | */ Route::get('/', function () { return view('willkommen'); }); Route::get('/about', function () { return view('about', [ "name" ]); });</pre></p>
P粉056618053P粉056618053437 Tage vor454

Antworte allen(2)Ich werde antworten

  • P粉111641966

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

    控制器从不运行,仅运行 web.php 文件中的回调。 这意味着你没有 a 和 b 变量,只有一个 name 变量

    Antwort
    0
  • P粉194919082

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

    感谢您的回复!事实证明我错误地将模型声明为变量和路线,

    对于我将其更改为的路线

    Route::get('/about',[AboutController::class,'info']);

    对于控制器和模型,我删除静态并更改模型声明

    控制器:

    public function info()
        {
            $model = new AboutModel();
            $a = $model->Info();
            $b = "This data is from controller";
    
            return view('about', compact('a', 'b'));
        }

    型号:

    public function Info(){
            $a = "This value is from model";
            return $a;
        }

    Antwort
    0
  • StornierenAntwort