我对 laravel 有点陌生,并试图从数据库中提取数据,但不断出现错误页面,说视图中有一个未定义的变量。
我假设在控制器中我做错了(或没有做)。所以我有一个create.blade.php将数据从表单发布到数据库并且一切正常,但是我希望它在发布到数据库后重定向到show.blade.php显示上传的数据,这里是我遇到错误消息的地方是一堵砖墙。
这是我在控制器中的存储功能-
public function store(Request $request)
{
$data4page = new Data4page;
$data4page->h1Ttle = $request->h1Ttle;
$data4page->h4Ttle = $request->h4Ttle;
$data4page->description = $request->description;
$data4page->save();
/*redirecting to the content's show page*/
return redirect()->route('content.show', $data4page->id);
}
这是同一控制器中的显示功能 -
public function show($id)
{
//
$data4page = Data4page::find($id);
return view('digital.show')->with(compact('data4page'));
}
我收到的错误消息是 -
Undefined variable: data4page (View: /var/www/html/theproject/resources/views/content/show.blade.php)
在 show.blade.php 这是我所拥有的样本 -
<h1>{{ $data4page->h4Ttle }}</h1>
<p>{{ $data4page->description }}</p>
<h4>{{ $data4page->h4Ttle }}</h4>
说了这么多,我还尝试了各种在控制器的 show 函数中返回视图的方法,但所有这些都会导致上面的相同错误消息。这些变体包括 -
return view('content.show')->with('data4page', $data4page);
return view('content.show',['data4page'=>$data4page]);
更新:我之前有错别字,但现在我得到的错误是 -
undefined variable: {"id":9,"h1Ttle":"h1 sample text","h4Ttle":"h4 sample text","description":"body text goes here"} (View: /var/www/html/theproject/resources/views/content/show.blade.php)
这是 show.blade.php -
@extends('main')
@section('title')
@section('content')
<div class="app-template">
<main class="wrapperMain">
<div class="">
<aside class="navSidebar">
<nav class="navProperty">
<h1 class="navProperty-title">{{ $data4page->h1Ttle }}</h1>
</nav>
<footer class="footerProperty">
<div class="upcomingSchedule">
<h4 class="upcomingSchedule-heading">{{ $data4page->h4Ttle }}</h4>
</div>
</footer>
</aside>
</div>
<div class="content content--withSidebar">
<div class="lead--Home">
<p>{{ $data4page->description }}</p>
</div>
</div>
</main>
@endsection