Autour de Laravel

comment afficher les données

Avatar de DVICODEUR
DVICODEUR

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

Avatar de CinquièmeDimension
CinquièmeDimension

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.

Avatar de DVICODEUR
DVICODEUR

j'ai reedité le message

Avatar de khalyomede
khalyomede

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 ?

Avatar de DVICODEUR
DVICODEUR

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
Avatar de CinquièmeDimension
CinquièmeDimension

Et si tu fais un dd($logiciels); après ton $logiciels = Logiciel::all(); dans ton controller, ca te donne quoi ?

Avatar de DVICODEUR
DVICODEUR

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 }

Avatar de CinquièmeDimension
CinquièmeDimension

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);
Avatar de DVICODEUR
DVICODEUR

ok

Vous ne pouvez pas répondre à ce sujet.