Maison  >  Questions et réponses  >  le corps du texte

La variable dans la lame n'est pas définie lors du passage de la variable du contrôleur Laravel

<p>Je souhaite donc renvoyer une chaîne de <code>model</code> et <code>controller</code> mais cela indique toujours une variable non définie, bien que lorsque j'utilise <code> ($ il passe avec succès a)</code> et <code>dd($b)</code>. Qu'ai-je fait de mal? </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>À propos du contrôleur :</code></p> <pre class="brush:php;toolbar:false;"><?php espace de noms AppHttpControllers ; utilisez IlluminateHttpRequest ; utilisez AppModelsAboutModel ; la classe AboutController étend le contrôleur { // info de fonction statique publique(){ $a = AboutModel::info(); $b = "Ces données proviennent du contrôleur"; return view('à propos', compact('a', 'b')); } }</pré> <p><code>À propos du modèle :</code></p> <pre class="brush:php;toolbar:false;"><?php Modèles d'application d'espace de noms ; utilisez IlluminateDatabaseEloquentFactoriesHasFactory ; utilisez IlluminateDatabaseEloquentModel ; la classe AboutModel étend le modèle { utilisez HasFactory ; fonction statique publique Info(){ $a = "Cette valeur provient du modèle"; retourner $a ; } }</pré> <p><code>Directions : </code></p> <pre class="brush:php;toolbar:false;"><?php utilisez IlluminateSupportFacadesRoute ; utilisez AppHttpControllersAboutController ; /* |------------------------------------------------- ----------------------- Itinéraires Web |------------------------------------------------- ----------------------- | | C'est ici que vous pouvez enregistrer les itinéraires Web pour votre application. | les routes sont chargées par RouteServiceProvider et toutes seront | être affecté au groupe middleware "web". | */ Route::get('/', fonction () { return view('bienvenue'); }); Route::get('/à propos', fonction () { return view('à propos', [ "nom" => ]); });</pre></p>
P粉056618053P粉056618053437 Il y a quelques jours451

répondre à tous(2)je répondrai

  • P粉111641966

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

    Le contrôleur ne s'exécute jamais, uniquement les rappels dans le fichier web.php. Cela signifie que vous n'avez pas de variables a et b, seulement une variable de nom

    répondre
    0
  • P粉194919082

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

    Merci pour votre réponse ! Il s'avère que j'ai déclaré le modèle comme variable et comme itinéraire de manière incorrecte,

    Pour l'itinéraire, je l'ai changé en

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

    Pour les contrôleurs et les modèles, je supprime la statique et modifie la déclaration du modèle

    控制器:

    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;
        }

    répondre
    0
  • Annulerrépondre