为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 多图上传

Laravel 多图上传

PHP
阿波罗的战车 2023-07-15 16:54:49
我正在尝试保存多个图像,但帖子底部的图像中显示错误。我尝试过请求名称,但出现另一个错误,属性和图像之间存在一对多关系,我正在尝试保存属性的许多图像。如果我收到图像,如果我在创建之前进行 dd 操作,我就会收到图像。存储方法public function store(Request $request){  /*--from this session you start to save the properties with all their attributes  --*/      $properti = new Propertie;    $detail = new Detail;    $detail->antiquity = $request->antiquity;    $detail->furnished = $request->furnished;    $detail->floor = $request->floor;    $detail->save();    $properti->details_id = $detail->id;    $properti->name = $request->name;    $properti->price = $request->price;    $properti->description = $request->description;    $properti->departaments_id = $request->departaments;    $properti->municipalities_id = $request->municipalities;    $properti->property_type_id = $request->type_property;    $properti->offer_type_id = $request->type;    $properti->details_id = $detail->id;    $properti->lat = $request->lat;    $properti->lng = $request->lng;    $properti->address = $request->address;    if (isset($request->property_id)) {        $property_type = $request->property_id;    } else {        $property_type = null;    }            $properti->save();        $image->name = $request->name;                   foreach($request->file('images') as $image ){             $name = $image->getClientOriginalName();            $image->move('image',$name);        }            $properti->images()->create(['name' => $name ]);    $piso_id = $properti->id;    $space = new Space;    $space->property_id = $piso_id;    $space->bedrooms = $request->bedrooms;    $space->bathrooms = $request->bathrooms;    $space->parking = $request->parking;    $space->area = $request->area;    $space->save();    $properti->spaces_id = $space->id;    foreach ($request->input('characteristic') as $characteristic) {        $charc = new Characteristic;        $charc->property_id = $piso_id;        $charc->characteristic = $characteristic;        $charc->save();    }
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

看起来只有在没有附加图像的情况下才会发生此错误。您应该在循环请求数据时附加图像:


foreach ($request->file('images') as $image) { 

    $name = $image->getClientOriginalName();

    $image->move('image', $name);

    // v- TO HERE -v

    $properti->images()->create(['name' => $name ]);

}


// MOVE THIS: $properti->images()->create(['name' => $name ]);


查看完整回答
反对 回复 2023-07-15
?
慕村9548890

TA贡献1884条经验 获得超4个赞

正如我所看到的,您正在调用在 foreach 循环内定义的变量 $name ,这意味着它没有在循环外定义,这就是错误所说的。



查看完整回答
反对 回复 2023-07-15
  • 2 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信