php – 使用Laravel更新嵌套数组
发布时间:2020-12-14 19:39:04 所属栏目:大数据 来源:网络整理
导读:首先抱歉,我只在php中开发了一个月,我不知道如何用laravel更新它 我想更新多张照片. 照片有标题说明等. 我的问题是我不知道该怎么做. 我尝试了以下内容 public function update(Request $request,Photo $photo){ // loop through array of id's foreach ($re
首先抱歉,我只在php中开发了一个月,我不知道如何用laravel更新它
我想更新多张照片. 照片有标题说明等. 我的问题是我不知道该怎么做. 我尝试了以下内容 public function update(Request $request,Photo $photo) { // loop through array of id's foreach ($request->photo_id as $id) { // find $photos = $photo->find($id); // loop throug input fields foreach ($request->except('_token','tags','photo_id') as $key => $value) { $photos->$key = $value; $photos->save(); } } die(); } 我收到以下错误 preg_replace(): Parameter mismatch,pattern is a string while replacement is an array 所以我发现问题在于价值 结果是这样的 关键变量 string(5) "title" string(10) "country_id" string(7) "city_id" string(11) "category_id" string(9) "cruise_id" string(12) "itinerary_id" string(4) "desc" string(6) "people" string(5) "title" string(10) "country_id" string(7) "city_id" string(11) "category_id" string(9) "cruise_id" string(12) "itinerary_id" string(4) "desc" string(6) "people" 值变量结果 array(2) { [0]=> string(9) "title one" [1]=> string(9) "title two" } array(2) { [0]=> string(1) "1" [1]=> string(1) "1" } array(2) { [0]=> string(1) "1" [1]=> string(1) "1" } array(2) { [0]=> string(0) "" [1]=> string(0) "" } array(2) { [0]=> string(1) "1" [1]=> string(0) "" } array(2) { [0]=> string(1) "1" [1]=> string(0) "" } 我尝试了其他几次尝试但没有任何效果 可以请有人帮我解决这个问题吗? 解决方法
在不了解更多关于什么传递给您请求对象的情况下,我无法真正了解具体细节,但您可能希望让您的请求对象看起来像这样:
'photos' => [ { 'id' => 1,'title' => 'title one',// more properties .... },{ 'id' => 2,'title' => 'title two',] 然后尝试这样的事情: public function update(Request $request) { // Loop through the request photo id's $request->photos->each(function($photo) use ($request) { // Return the photo object you want to update $photo = Photo::find($photo->id); // Get the things you want from the request and update the object $photo->title= $request[$photo_id]->title; // Save the object $photo->save(); }) } 您也可以尝试使用dd();函数而不是die();.它使调试变得更容易. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |