当我死/转储 $files 时,当我期望看到所有选定的文件时,我只能看到请求中的一个文件。当我在 foreach 循环中死亡/转储 $name 时,什么也没有发生。我需要查看请求中所有选定的图像。刀片创建<form action="/p" enctype="multipart/form-data" method="post" files = "true"> @csrf<label for="image" class="col-md-4 col-form-label text-md-right">{{ __(' post image') }}</label> <input type="file", class="form-control-file" id ="image" multiple = "multiple" name="image"> @error('image') <div class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </div> @enderror </form>后置控制器 public function store( Request $request ){` $request->request->add(['user_id' => $user], ); // Here a request is given a varible either for the admin or user $data = request()->validate([ 'user_id' => 'required', 'about' => 'required', 'category' => '', 'expire_date' => '', ]); `if (Auth::guard('web')->check()) { $user = Auth::user(); $post = new Post(); /*$post = $user->posts()->create([ 'about' => $data['about'], 'category' => $data['category'], 'expire_date' => $data['expire_date'], ]);*/ if($request->hasFile('image')) { $files = $request->file('image'); foreach($files as $file) { $name = time().'-'.$file->getClientOriginalName(); $name = str_replace('','-',$name); $file->move('images',$name); //$post->images->create(['image' => $name ]); } } ` $user = Auth::guard('web')->id() ; // return redirect()->route('home',['user'=>$user]); } }
2 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
对于多个输入,在 html 中,您需要将其作为name 属性的数组传递。更改name="image"
为name=image[]
,即:
<input type="text" name="image[]" />
这样 php 将收到一个图像数组。
慕哥9229398
TA贡献1877条经验 获得超6个赞
模型上的 $casts 属性提供了一种将属性转换为常见数据类型的便捷方法。$casts 属性应该是一个数组,其中键是要转换的属性的名称,值是您希望将列转换为的类型。
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
protected $casts = [
'image' => 'array',
];
}
- 2 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消