gpt4 book ai didi

php - Macroable.php 中的 BadMethodCallException 第 81 行 :Method update does not exist

转载 作者:搜寻专家 更新时间:2023-10-31 21:53:50 25 4
gpt4 key购买 nike

我正在开发一个页面来创建、更新、删除和查看更新事件时出错的事件。有一个事件表和一个 event_collection 表。在该 event_collection 表中,有一个 event_id,它是一个事件的 id 和一个 collection_id,它来自其他表集合。

当我创建一个事件时,所有数据都存储在事件表中,除了集合数据。在集合表中,数据以一种方式存储,就像我检查集合中的 2 个项目一样,它将生成 2 个具有相同 event_id 和 2 个 collection_id 的 ID。

更新有问题,当我尝试更新代码时,它给我错误

BadMethodCallException in Macroable.php line 81: Method update does not exist.

更新方法是:

        public function update(EventRequest $request, $id)
{
$event = Event::findOrFail($id);
$input = $request->all();
$input['days_of_week'] = serialize(Input::get('days_of_week'));
$query = $event->update($input);
$checkbox_selection = Input::get('agree');
$choosen_checkbox = $id;
$collection_event = EventCollection::where('event_id',$choosen_checkbox)->get();
// return $collection_event;
if (!is_null($checkbox_selection)) {
foreach ($checkbox_selection as $collection) {
// $collection_id = $id;
foreach($collection_event as $k){
// return $k;
if($k->event_id == $choosen_checkbox){
$data = $request->all();
$data['event_id']= $choosen_checkbox;
$data['collection_id'] = $collection;
$collection_event->update($data);
}
}

}
}

我的存储方法是:

    public function store(Request $request)
{

$checkbox = Input::get('days_of_week');
$checkbox_selection = Input::get('agree');
// return $checkbox_collection;
$input = $request->all();
$input['days_of_week'] = serialize($checkbox);
$query = Event::create($input);
$event_id = $query->id;
$pro_id = $query->provider_org_id;
/*For the checkbox selection, if they are multiple store each separately*/
if (!is_null($checkbox_selection)) {
foreach ($checkbox_selection as $collection) {
$collection_id = $query->id;
if($collection_id){
$data = $request->all();
$data['event_id']= $collection_id;
$data['collection_id'] = $collection;
$create_collection = EventCollection::create($data);
}
}
}
return view('event.pic_upload',compact('event_id','pro_id'));
}

存储方法正常工作!有人可以告诉任何解决方案吗?我深陷其中。

最佳答案

我认为“更新”方法不适用于集合。这一行将返回一个集合

$collection_event = EventCollection::where('event_id',$choosen_checkbox)->get();

您不需要集合,而是查询。正如文档中给出的:

`App\Flight::where('active', 1)
->where('destination', 'San Diego')
->update(['delayed' => 1]);`

尝试从语句中删除“->get()”。

关于php - Macroable.php 中的 BadMethodCallException 第 81 行 :Method update does not exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35914953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com