Laravel 5

Problème de variable non défini

Avatar de ThorOddin'sSon
ThorOddin'sSon

Bonjour,

Je suis face à une problématique que je pensais parvenir à résoudre par moi même en parcourant de nombreux tutoriel pour parvenir à modeler se que je voulais effectué. J'essais de récupérer des informations d'une table de la base de donné lié à mon projet Laraval, mais il semble que j'ai fait une erreur quelques parts dans mes codes.

Voici l'erreur en question : Imgur

Le code de la vue exercises.blade.php :

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-lg-4"></div>
        <div class="col-lg-8">
           @foreach($exercises as $exercise)
            <div class="card">
                <div class="card-header">
                    <h5 class="card-title">
                        {{ $exercise->name }}
                    </h5>
                </div>
                <div class="card-body">
                   <div class="row">
                      <div class="col-lg-2">
                          <?php if( $exercise->mainmedia == 0) {?>
                              <img src="{{ $exercise->mainmedia }}">
                            <?php }else{ ?>
                                <video width="320" height="240" controls>
                                  <source src="$exercise->mainmedia" type="video/mp4">
                                </video>
                            <?php } ?>
                      </div>
                      <div class="col-lg-6">
                          <div class="row"><p>Équipement :</p>{{ $exercise->equipment }}</div>
                          <div class="row"><p>Type :</p>{{ $exercise->type }}</div>
                          <div class="row"><p>Muscle principal :</p>{{ $exercise->mainmuscle }}</div>
                      </div>
                   </div> 
                </div>
            </div>
            @endforeach
        </div>
    </div>
</div>
@endsection

Mon modèle Exercises.php :

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Exercises extends Model
{
    protected $fillable = array('name', 'equipment', 'type', 'mainmuscle', 'config', 'guide', 'mediatype', 'mainmedia', 'media1', 'media2', 'media3', 'media4', 'media5', 'media6');

}

Mon contrôleur ExercisesController.php :

<?php

namespace App\Http\Controllers;

use App\Exercises;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class ExercisesController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $exercises=Exercises::all();

        return view('/exercises');
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  \App\Exercises  $exercises
     * @return \Illuminate\Http\Response
     */
    public function show(Exercises $exercises)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\Exercises  $exercises
     * @return \Illuminate\Http\Response
     */
    public function edit(Exercises $exercises)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Exercises  $exercises
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, Exercises $exercises)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Exercises  $exercises
     * @return \Illuminate\Http\Response
     */
    public function destroy(Exercises $exercises)
    {
        //
    }
}

Puis ma route dans web.php :

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Route::get('profile', 'UserController@profile');
Route::post('profile', 'UserController@update');

Route::post('profile', 'UserProfileController@update')->middleware('auth')->name('profile.update');

Route::get('exercises', 'ExercisesController@index')->name('exercises');

Si quelqu'un peu me donner un coup de main afin que je puisse avancé, j'apprécierais grandement ou bien me transmettre un meilleur tutoriel qui pourrait me permettre de faire l'affichage de chaque exercice contenus dans ma table, j'en serais très heureux.

Posté il y a 3 ans
Avatar de Farris27
Farris27

Pour répondre à ton soucis tu dois envoye ta variable dans la vue

Comme ceci:

  public function index()

    {

        $exercises=Exercises::all();



        return view('/exercises',compact('exercises');

    }

Sinon http://laravel.sillo.org/ de Bestmomo est un excellent site sur laravel et en français même si l'anglais est obligé pour se perfectionner ;)

Posté il y a 3 ans
Avatar de ThorOddin'sSon
ThorOddin'sSon

Merci beaucoup Farris27!

Je débute avec Laravel et je ne maîtrise pas suffisament ses subtilités.

Posté il y a 3 ans
Avatar de Farris27
Farris27

De rien c'est un plaisir d'aider ;)

Attention appeler ::all() n'est pas toujours la solution ;)

Posté il y a 3 ans
Avatar de MouhamedGorguiSeyniDione
MouhamedGorguiSeyniDione

public function index() {

    $adh = accueil::all(); 
     return view('gestionnaireProduction-la',compact('adh'));
}

j'ai ca et pourtant dans ma vue cela m'affiche que la variable n'est pas defini

Posté il y a 3 mois

Vous ne pouvez pas répondre à ce sujet.