La variable dans la lame n'est pas définie lors du passage de la variable du contrôleur Laravel
P粉056618053
P粉056618053 2023-08-31 15:58:04
0
2
491
<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粉056618053
P粉056618053

répondre à tous(2)
P粉111641966

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

P粉194919082

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;
    }
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal