Я пытаюсь получить информацию из базы данных в файле (таблице) blade.php, но появляется ошибка. подскажите пожалуйста что я делаю не так? Я думаю, что проблема в индексной функции. пытался отлаживать, но ничего. пожалуйста, скажите мне, если вам нужно больше файлов, чтобы увидеть. Я пошлю их быстро. извините, если это вопрос новичка. Я начинающий :(
Контроллер
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use app\models\category;
class categorycontroller extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$cat = category::all();
return view('categories')->with('categories',$cat);
}
файл blade.php
@extends ('layouts.admin')
@section('content')
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<meta name = "viewport" content = "width=device-width, initial-scale=1.0">
<link href = "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel = "stylesheet" integrity = "sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin = "anonymous">
</head>
<body>
<h1 class = "bg-primary text-center text-white">Add category</h1>
<form action = "{{route('categories.store')}}" method = "post" enctype = "multipart/form-data" class = "w-75 mx-auto">
@csrf
<div class = "form-group">
<label for = "formgroupexampleinput">Title</label>
<input type = "text" name = "title" class = "form-control" required>
</div>
<div class = "form-group">
<label for = "formgroupexampleinput">Image</label>
<input type = "file" name = "file" required >
</div>
<div class = "form-group">
<label for = "formgroupexampleinput">Description</label>
<input type = "text" name = "description" class = "form-control" required >
</div>
<input type = "submit" class = "form-control btn-primary w-25" value = "Submit">
</form>
<h1>Categoreis Data</h1>
<table class = "table">
<tr>
<th>Title</th>
<th>Description</th>
<th>Edit</th>
<th>Delete</th>
</tr>
@foreach($categories as $cat)
<tr>
<td>{{$cat->title}}</td>
<td>{{$cat->description}}</td>
<td><a href = "{{edit/{{$cat->id}}}}">Edit</a></td>
<td><a href = "{{delete/{{$cat->id}}}}">Delete</a></td>
</tr>
@endforeach
</table>
</body>
</html>
@endsection
эй, я уже пробовал это. спасибо за предложение. любое другое возможное решение?
В следующий раз лучше показать ошибку сообществу, чем говорить "выскакивает ошибка".
У вас есть файл в каталоге app\Models
с именем Category.php
, с namespace App\Models;
, с именем class Category extends Model
? Если ответ на этот вопрос отрицательный, вам нужно это исправить :) Скриншот вашего каталога и содержимое этого файла (во всяком случае, первые несколько строк) помогут нам отладить это дальше.
Эй, большое спасибо за решение. Действительно ценится.
Измените имя модели, так как сервер состоит из имен файлов, чувствительных к регистру. В вашем случае используйте app\models\Category;
Вероятно, так и должно быть
App\Models\Category
... В некоторых средах важен регистр, а если нет, то вы должны хотя бы попытаться быть последовательными. Все другие вашиuse ...;
импорты используютTitleCase
, так что, возможно, они все должны. Кроме того,Category::all()
, а неcategory::all()
.