Je suis les vidéos de Laracasts : Flux de travail de base modèle/contrôleur/vue .
J'ai un tableau qui contient les informations de contact.
CREATE TABLE `about` (
`id` int(10) UNSIGNED NOT NULL,
`title` varchar(500) COLLATE utf8_unicode_ci NOT NULL,
`content` text COLLATE utf8_unicode_ci,
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
J'essaie de transmettre des données à la vue en utilisant le code suivant dans le fichier du contrôleur :
public function index()
{
$about = Page::where('page', 'about-me')->get(); //id = 3
return view('about', compact('about'));
}
Lorsque j'essaie d'afficher le code comme indiqué ci-dessous,
@section('title')
{{$about->title}}
@stop
@section('content')
{!! $about->content !!}
@stop
Je reçois une erreur qui dit :
La propriété [titre] n'existe pas sur cette instance de collection. (Vue : E:\laragon\www\newsite\resources\views\about.blade.php )
Mais si je modifie la méthode de récupération dans le fichier du contrôleur, cela fonctionne.
public function index()
{
$about = Page::find(3);
return view('about', compact('about'));
}
Lorsque j'utilise dd($about)
dans le premier cas ( where()->get()
), les données sont encapsulées dans un tableau. Dans le second cas ( find(3)
), il affiche les données comme prévu.
Qu'est-ce que je fais de travers ?