Laravel: Undefined variable en vue de la lame
C'est AdminController.php
:
<?php
namespace App\Http\Controllers;
use Response;
use Illuminate\Support\Facades\DB;
use App\Caption;
use App\Image;
use App\Http\Controllers\Controller;
class AdminController extends Controller
{
public function admin() {
$images = Image::paginate();
return view('admin',[ '$images' => $images]);
}
}
Et c'est admin.blade.php
:
@extends('template')
@section('title')
Admin Page
@endsection
@section('header')
@endsection
@section('main')
@if (Auth::check())
@foreach ($images as $image)
<p value='{{$image->id}}'>{{$image->content}}</p>
<form action="image/{{$image->id}}/delete" method="post">
<button type="submit">Delete caption</button>
</form>
<form action="image/{{$image->id}}/approve" method="post">
<button type="submit">Accept image</button>
</form>
@endforeach
@else
<p>Login first</p>
@endif
@endsection
@section('footer')
@endsection
Pourquoi j'obtiens l'erreur suivante?
ErrorException in 408148d5409ae6eebf768dc5721bd0d1d9af48af.php line 9:
Undefined variable: images (View: /Users/sahandz/Documents/School/Singapore/CS3226/backend/resources/views/admin.blade.php)
$images
est clairement définie dans mon contrôleur.
Grâce.
essayez cette
est Image::paginate() un champ d'application que vous avez écrit? parce que normalement vous devriez faire quelque chose comme ceci:
le code de correction devrait être:
return view('admin',compact('images'));
est Image::paginate() un champ d'application que vous avez écrit? parce que normalement vous devriez faire quelque chose comme ceci:
$images = Image::all()->paginate(15);
le code de correction devrait être:
return view('admin',[ 'images' => $images]);
OriginalL'auteur Sahand | 2017-03-30
Vous devez vous connecter pour publier un commentaire.
Vous avez utilisé
$images
que votre nom de la variable lors de la transmission des données à la vue. Cette résultats dans la lame de la création d'une variable appelée$$images
.entraînera le point de vue de la création d'une variable appelée
$images
OriginalL'auteur Joe
Essayer de passer des données de cette façon.
Fondamentalement,vous ne devez pas utiliser
$
dans le nom de la variable.OriginalL'auteur Rehan
Votre code devrait ressembler à ceci
}
Pourquoi vous utilisez
[ '$images' => $images]
. c'est le problème.OriginalL'auteur Abdullah Al Shakib
Vous pouvez utiliser cette méthode pour transmettre vos données à afficher
OriginalL'auteur ram pratap singh