无论我做什么,这个错误都会不断出现,我已经寻找解决方案,但我太愚蠢了,无法理解发生了什么,请帮助我
preguntas.blade.php
@extends('app')
@section('title', 'Pregunta:'.$nombrePregunta->titulo)
@section('description', $nombrePregunta->categorias->nombre)
@section('content')
<div class="leading-loose max-w-4xl mb-4">
{{$nombrePregunta->body}}
</div>
还有更多,但不重要
路线/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\paginaControlador;
Route::get('/', [paginaControlador::Class, 'gestionHome'])->name('home');
Route::get('/categorias/{nombreCategoria:slug}', [paginaControlador::class, 'gestionCategoria'])->name('categoria');
Route::get('/etiquetas/{nombreEtiqueta:slug}', [paginaControlador::class, 'gestionEtiqueta'])->name('etiqueta');
Route::get('/preguntas/{nombrePregunta:slug}', [paginaControlador::class, 'gestionPregunta'])->name('pregunta');
控制器/paginaControlador.php
<?php
namespace App\Http\Controllers;
use App\Models\Preguntas;
use App\Models\Categorias;
use App\Models\Etiquetas;
use Illuminate\Http\Request;
class paginaControlador extends Controller
{
public function gestionHome(){
$preguntas = Preguntas::orderBy('id','DESC')->paginate();
return view("home", compact('preguntas'));
}
public function gestionCategoria($nombreCategoria){
$preguntas = $nombreCategoria->preguntas()->orderBy('id','DESC')->paginate();
return view('categoria', compact('nombreCategoria','preguntas'));
}
public function gestionEtiqueta($nombreEtiqueta){
$preguntas = $nombreEtiqueta->preguntas()->orderBy('id','DESC')->paginate();
return view('etiqueta', compact('nombreEtiqueta','preguntas'));
}
public function gestionPregunta($nombrePregunta){
return view('preguntas', compact('nombrePregunta'));
}
}
模型/preguntas.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Preguntas extends Model
{
use HasFactory;
// 1:N
public function comentarios(){
return $this -> hasMany(Comentarios::class);
}
// N:N
public function etiquetas(){
return $this -> belongsToMany(Etiquetas::class);
}
//N1
public function categorias(){
return $this -> belongsTo(Categorias::class);
}
//N1
public function user(){
return $this -> belongsTo(User::class);
}
}
我不知道这是否有用,但我把它放在这里以防万一
普雷贡塔斯工厂
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
use App\Models\User;
use App\Models\Categorias;
use Illuminate\Support\Str;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Preguntas>
*/
class PreguntasFactory extends Factory
{
public function definition(): array
{
return [
'categorias_id' => Categorias::factory(),
'user_id' => User::factory(),
'titulo' => $title = fake()->unique()->sentence(),
'slug' => Str::slug($title),
'body' => fake()->text(1300)
];
}
}