Laracastsのビデオをフォローしています:基本モデル/コントローラー/ワークフローの表示。
連絡先情報を保持するテーブルがあります。
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
コントローラファイルの次のコードを使用して、表示するデータを渡そうとしています。
public function index()
{
$about = Page::where('page', 'about-me')->get(); //id = 3
return view('about', compact('about'));
}
以下のようにコードを表示しようとすると、
@section('title')
{{$about->title}}
@stop
@section('content')
{!! $about->content !!}
@stop
次のようなエラーが発生します。
プロパティ[title]はこのコレクションインスタンスに存在しません。(表示:E:\ laragon \ www \ newsite \ resources \ views \ about.blade.php)
しかし、コントローラーファイルの取得方法を変更すると機能します。
public function index()
{
$about = Page::find(3);
return view('about', compact('about'));
}
dd($about)
最初のケース(where()->get()
)で使用すると、データは配列によってカプセル化されます。2番目のケース(find(3)
)では、期待どおりにデータが表示されます。
私は何が間違っているのですか?