“尝试读取字符串上的属性“titulo””Laravel

问题描述 投票:0回答:0

无论我做什么,这个错误都会不断出现,我已经寻找解决方案,但我太愚蠢了,无法理解发生了什么,请帮助我

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)
        ];
    }
}

我尝试过使用这个live.ERROR:尝试获取非对象的属性“标题”(查看:C:\ xampp \ htdoc

laravel laravel-blade
© www.soinside.com 2019 - 2024. All rights reserved.