Php 类stdClass的错误对象无法转换为字符串,请不要让我在laravel 6.0中从数据库中删除项

Php 类stdClass的错误对象无法转换为字符串,请不要让我在laravel 6.0中从数据库中删除项,php,html,laravel,postgresql,Php,Html,Laravel,Postgresql,我想把它修好,但修不好,是为了上学 没有雄辩的疑问 这里我将展示destroy函数的代码、view ListEvent以及显示如何从数据库获取信息的查询 索引函数 $events=DB::select DB::rawSELECT name\u事件,日期 从事件 其中name\u事件不为空 ; 返回视图'home.listaEventos',压缩'events'; 破坏功能 公共功能销毁$id { $event=event::findOrFail$id; $event->delete; 返回

我想把它修好,但修不好,是为了上学 没有雄辩的疑问

这里我将展示destroy函数的代码、view ListEvent以及显示如何从数据库获取信息的查询 索引函数

$events=DB::select DB::rawSELECT name\u事件,日期 从事件 其中name\u事件不为空 ; 返回视图'home.listaEventos',压缩'events'; 破坏功能

公共功能销毁$id { $event=event::findOrFail$id; $event->delete; 返回->带“已删除”; } “我的视图事件列表”中有“删除表单”按钮的代码给出了我之前说过的错误

@foreach$事件作为$item {{$item->name_event} {{$item->date} $item]}}method=POST class=d-inline> @csrf @方法“删除” 删去 @endforeach
我认为问题在于获得这些事件。 您可以使用雄辩的方式进行查询

$events = Event::whereNotNull('name_event')->get();
return view('home.listaEventos',compact('events'));
确保使用use App\Event导入事件模型;在类名上方

您还需要传递ID,而不是整个对象

<form action={{ route('events.destroy', $item->id) }} method="POST" class="d-inline">
使用上述代码更改表单元素

更新:

只需使用当前查询并按上述代码编辑表单即可。

有两个原因:

<form action={{ route('events.destroy', ['event' => $item]) }} method="POST" class="d-inline">
1您正在添加一个要销毁的对象,同时定义方法destroy的参数$id,$id是一个整数


2您在查询中没有获取事件\ u id。请注意,如果您编写查询时指定了字段,或者表中没有太多可供选择的字段*

问题在于,有一条指令是,我无法将查询与有说服力的,所以我必须像sql那样做queries@Rinzler21只需使用当前查询并使用上面我的答案中的代码更新表单元素即可。它现在会引发以下错误:Undefined属性:stdClass::$IDName错误?能否在返回viewFacade\Ignition\Exceptions\ViewException Undefined属性之前调用dd$events:stdClass::$id View:C:\Users\Anyelina\Desktop\ACAVUCAB\u SGBD1\resources\views\home\listaEventos.blade.php