【发布时间】:2020-10-09 02:39:02
【问题描述】:
我是 Laravel 和 MacOS 的新手,我正在使用 Laravel 7。在尝试开发新闻网站时,我创建了一个按钮来“编辑”用户创建的新闻,但出现了以下错误:
试图获取非对象的属性“id”(查看:/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]);
}
我不知道这是否足够的信息,如果不是,请告诉我发布它。
非常感谢!
【问题讨论】:
-
您将
$noticia传递给视图并将其命名为id,因此在视图中您应该使用route('noticias.update',['id' => $id->id]),尽管我会考虑重命名变量。