Свойство "id" берется из не-объекта - PullRequest
1 голос
/ 19 июня 2020

Я новичок в Laravel и MacOS, и я использую Laravel 7. Пытаясь разработать новостной веб-сайт, я создал кнопку для «редактирования» новостей, создаваемых пользователем, но появляется следующая ошибка:

Попытка получить свойство 'id' не-объекта (View: /Users/rodri6uez/Documents/LARAVEL/noticias/resources/views/noticias/edit.blade.php)

Ошибка указывает на следующую строку кода:

<form action="{{ route('noticias.update',['id' => $noticia ?? '' ->id]) }}" method="post" enctype="multipart/form-data">

Это код контроллера, который влияет на функцию редактирования:

public function edit($noticia)
{
    $user = auth()->user();
    $noticia = DB::table('noticias')
        ->join('categorias', 'noticias.categorias_id', '=', 'categorias.id')
        ->join('users', 'noticias.users_id', '=', 'users.id')
        ->where('noticias.users_id', $user->id)
        ->where('noticias.id', $noticia)
        ->select('noticias.*', 'categorias.descripcion as categoriadescripcion', 'users.name as usuario')
        ->first();

    $categorias = categoria::where('estatus', 1)
        ->orderBy('descripcion', 'desc')
        ->get();
    return view('noticias.edit', ['id' => $noticia, 'categorias' => $categorias]);
}

Я не знаю, достаточно ли этого информацию, если не просто дайте мне знать, чтобы опубликовать ее.

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 19 июня 2020

Добро пожаловать в stackoverflow.

В $noticia вы получаете значения объекта. Поэтому следуйте приведенному ниже коду -

<form action="{{ route('noticias.update',['id' => $noticia ?? '' $noticia->id]) }}"
 method="post" enctype="multipart/form-data">

Надеюсь, это вам поможет. Удачного кодирования.

0 голосов
/ 02 сентября 2020

Решение было:

<form action="{{ route('noticias.update',['id' => $noticia ?? '' $noticia->id]) }}"
 method="post" enctype="multipart/form-data">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...