Извините, я новичок в разработке на Laravel. Я пытаюсь показать информацию, содержащуюся в базе данных на моей странице. Но он не может найти переменную, содержащую все данные. Я могу видеть информацию в Тинкере, но я не могу показывать, что это так.
Я разместил несколько фотографий, чтобы вы могли посмотреть. Я хотел бы услышать ваши отзывы.
Изображений: 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'));
}
Лезвие:
@extends('layout')
@section('title','Welcome')
@section('content')
{{-- @foreach ($complaints as $complaint)
<h1>{{ $complaint->title }}</h1>
<p>{{ $complaint->body }}</p>
@endforeach --}}
{{ $complaints }}
@endsection
Вы не направляете к правильной функции в вашем контроллере. Попробуй это
Route::resource('complaints', 'ComplaintController@index');
Попробуйте это с другим синтаксисом как ниже:
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