Laravel 没有从数据库中获取信息,显示错误
Laravel not getting info out of database, displays erros
抱歉,我是 Laravel 上的开发新手。我试图在我的页面上显示数据库中包含的信息。但是它找不到保存所有数据的变量。我可以在 Tinker 中看到信息,但我似乎无法隐藏它。
我发了一些照片,你可以看看。我很想听听您的反馈。
图片:https://imgur.com/a/zLSqSDG
代码:
路线:
<?php
Route::get('/', function () {
return view('index');
});
Route::resource('complaints', 'ComplaintController');
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Complaint;
class ComplaintController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$complaints = Complaint::all();
return view('index', compact('complaints'));
}
Blade:
@extends('layout')
@section('title','Welcome')
@section('content')
{{-- @foreach ($complaints as $complaint)
<h1>{{ $complaint->title }}</h1>
<p>{{ $complaint->body }}</p>
@endforeach --}}
{{ $complaints }}
@endsection
尝试使用如下的另一种语法:
public function index() {
$complaints = Complaint::all();
return view('index')->with(compact('complaints'));
}
或
public function index() {
$complaints = Complaint::all();
return view('index')->with('complaints', $complaints);
}
正如@amirhosseindz 所说
当您访问此 url 时:http://127.0.0.1:8000/complaints 它会起作用,因为您正在点击
Route::resource('complaints', 'ComplaintController');
但是当你访问这个 url 时:http://127.0.0.1:8000
您正在执行此操作:
Route::get('/', function () {
return view('index');
});
其中 $complaints
不存在
你应该试试这个:
您的控制器
public function index() {
$complaints = Complaint::all();
return view('index',compact('complaints'));
}
您的观点(index.blade.php)
@extends('layout')
@section('title','Welcome')
@section('content')
@if(isset($complaints))
@foreach ($complaints as $complaint)
<h1>{{ $complaint->title }}</h1>
<p>{{ $complaint->body }}</p>
@endforeach
@endif
@endsection
您没有路由到控制器中的正确功能。试试这个
Route::resource('complaints', 'ComplaintController@index');
抱歉,我是 Laravel 上的开发新手。我试图在我的页面上显示数据库中包含的信息。但是它找不到保存所有数据的变量。我可以在 Tinker 中看到信息,但我似乎无法隐藏它。
我发了一些照片,你可以看看。我很想听听您的反馈。
图片:https://imgur.com/a/zLSqSDG
代码:
路线:
<?php
Route::get('/', function () {
return view('index');
});
Route::resource('complaints', 'ComplaintController');
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Complaint;
class ComplaintController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$complaints = Complaint::all();
return view('index', compact('complaints'));
}
Blade:
@extends('layout')
@section('title','Welcome')
@section('content')
{{-- @foreach ($complaints as $complaint)
<h1>{{ $complaint->title }}</h1>
<p>{{ $complaint->body }}</p>
@endforeach --}}
{{ $complaints }}
@endsection
尝试使用如下的另一种语法:
public function index() {
$complaints = Complaint::all();
return view('index')->with(compact('complaints'));
}
或
public function index() {
$complaints = Complaint::all();
return view('index')->with('complaints', $complaints);
}
正如@amirhosseindz 所说
当您访问此 url 时:http://127.0.0.1:8000/complaints 它会起作用,因为您正在点击
Route::resource('complaints', 'ComplaintController');
但是当你访问这个 url 时:http://127.0.0.1:8000
您正在执行此操作:
Route::get('/', function () {
return view('index');
});
其中 $complaints
不存在
你应该试试这个:
您的控制器
public function index() {
$complaints = Complaint::all();
return view('index',compact('complaints'));
}
您的观点(index.blade.php)
@extends('layout')
@section('title','Welcome')
@section('content')
@if(isset($complaints))
@foreach ($complaints as $complaint)
<h1>{{ $complaint->title }}</h1>
<p>{{ $complaint->body }}</p>
@endforeach
@endif
@endsection
您没有路由到控制器中的正确功能。试试这个
Route::resource('complaints', 'ComplaintController@index');