comment afficher les données
Bonsoir les pro, Je suis novice dans laravel 8. Je m'entraine sur un petit projet et je souhairais afficher les données d'une base de données dans plusieurs pages de mon application.
J'ai reçu a l'affiche dans une seule page (la page blade que j'ai indiqué dans le controller). quand j'essaie de les afficher les données dans une autre page, une erreur survient, que si la variable est introuvable. ci-dessous un bout de code
- Controller *<?php
namespace App\Http\Controllers;
use App\Models\Logiciel; use Illuminate\Http\Request;
class LogicielController extends Controller { public function logiciels(){
$logiciels = Logiciel::all();
return view('logicielpage', compact('logiciels'));
}
}
*Model
Salut,
Mec, je pense que tu n'as pas compris comment fonctionne un forum tel que celui-ci. Tu dis avoir besoin de notre soutien, mais tu pose une question hyper vague et tu nous donne 0 code.
On veut bien t'aider mais on ne va pas tout faire. Je pense que si tu n'arrive pas à afficher un enregistrement de base de données sur une page, il faut reprendre la doc du début. T'as plein de vidéos et de tutos sur le net. Commence par le blog de bestmomo ==> https://laravel.sillo.org/
Si jamais tu as une erreur précise, montre-nous l'erreur et le code qui va avec (controlleur, vue, modèle, etc. tout ce qui est pertinent). C'est pas contre toi mais là, on ne comprends rien à ce que tu as fait, ce que tu n'as pas fait et ce que tu veux faire.
j'ai reedité le message
Bonjour,
Est-ce que tu peux préciser ce que tu vois comme erreur (le message exacte), et le contenu du fichier "resources/views/logicielpage.blade.php" dans ton message original s'il te plait ?
voici le message d'erreur: $logiciel is undefined
voici le code que j'ai ecris dans la vue:
@foreach ($logiciels as $logiciel)
{{$logiciel->version}}
@endforeach
Et si tu fais un dd($logiciels);
après ton $logiciels = Logiciel::all();
dans ton controller, ca te donne quoi ?
lorsque je fais dd($logiciels); après ton $logiciels = Logiciel::all(); dans mon controller, ce resultat ci apres s'affiche
Illuminate\Database\Eloquent\Collection {#1263 ▼ #items: array:20 [▶] #escapeWhenCastingToString: false }
Ouai donc t'as pourtant bien des données qui remontent. Dans ce cas, c'est peut-être le compact qui pose problème... Essaie ça dans ton controller:
$logiciels = Logiciel::all();
$data = [
'logiciels' => $logiciels
];
return view('logicielpage', $data);
ok
Vous ne pouvez pas répondre à ce sujet.