首页 > 解决方案 > 此集合实例上不存在属性 [id] 错误?

问题描述

我试图删除数据库中的某些内容。

出现以下错误:

此集合实例上不存在属性 [id]。(查看:G:\Laravel\Projects\laravelApp1\resources\views\event.blade.php)

在此处输入图像描述

这是我的路线代码:

Route::get('/event',function(){
    $a=App\event::all();
    return view('event')->with('event',$a);
});

Route::post('/eventSave', 'eventController@eventSave');

Route::get('/event/delete/{id}',[
        'uses'=>'eventController@eventDelete',
        'as'=>'event.delete'
]);

这是我的 event.blade.php:

@foreach($event as $eventData)
    <tr>
      <td>{{$eventData->eventName}}</td>
      <td>{{$eventData->reason}}</td>
      <td>{{$eventData->region}}</td>
      <td>{{$eventData->budget}}</td>
      <td>{{$eventData->startDate}}</td>
      <td>{{$eventData->startTime}}</td>
      <td>{{$eventData->endTime}}</td>
      <td><a href="{{route('event.delete',['id' => $event->id]) }}" class="btn.btn-default">X</button></td>
    </tr>
@endforeach

这是我的 eventController.php:

public function eventDelete($id){
    //dd($id);
    $a=event::find($id);
    $a->delete();
}

请..帮助我。在此先感谢。

标签: laravel

解决方案


在你的foreach上event.blade.php你试图访问$event,那是一个集合,你想要的是$eventData

<td><a href="{{route('event.delete',['id' => $eventData->id]) }}" class="btn.btn-default">X</button></td>

推荐阅读