2017-04-04 9 views
0

Laravel 5.4で複数のファイルをアップロードしようとしています。私はこのエラーを取得する瞬間 Laravel 5.4での複数アップロード時のエラー

、とき提出: を照らし\検証\工場に渡される引数2 ::(作る)型の配列でなければなりません:

ErrorException Factory.php線91がで、nullが Cに呼び出され、与えられた:\ xamppの\ htdocsに*** \ベンダーの\ laravel \枠組み\ SRC \を照らし\財団\のHttp \ FormRequest.php ライン102上とは、ここで

フォーム

を定義しました。

{!! Form::open(['method' => 'POST', 'route' => ['posts.store'], 'files' => true,]) !!} 
    <div class="row"> 
     <div class="col-xs-12 form-group"> 
      {!! Form::label('title', 'Title*', ['class' => 'control-label']) !!} 
      {!! Form::text('title', null, ['class' => 'form-control']) !!} 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-xs-12 form-group"> 
      {!! Form::label('description', 'Description*', ['class' => 'control-label']) !!} 
      {!! Form::textarea('description', null, ['class' => 'form-control']) !!} 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-xs-12 form-group"> 
      {!! Form::file('fotos[]', array('multiple'=>true), [ 'class' => 'form-control']) !!} 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-xs-12 form-group"> 
      {!! Form::submit('Create', ['class' => 'btn btn-primary']) !!} 
     </div> 
    </div> 
    {!! Form::close() !!} 

コントローラ(店舗):

public function store(PostRequest $request) 
{ 


$input = $request->all(); 

if($input->hasFile('fotos[]')) 
{ 
    foreach ($request->file('fotos[]') as $file) { 
     $name = time() . $file->getClientOriginalName(); 
     $file->move('/images/', $name); 
     Foto::create(['post_id'=>$post->id, 'filename'=>$name]); 

    } 
} 

$post->fotos()->create($input); 

return redirect()->route('posts.index'); 
} 

写真モデル:

public function posts() { 
    return $this->belongsTo('App\Post'); } 

Postモデル:

public function fotos() { 
    return $this->hasMany('App\Foto');} 

PostRequest:

{public function rules() 
[ 
     'title' => 'required', 
     'description' => 'required' 
];} 

答えて

0

あなたのforeachはlaravel 5.4の場合

if (Input::hasFile('')) 
{ 
    // 
} 

Read more about this on Laravel.com

+0

でなければなりません

foreach(Input::file("myfile") as $file) { //process each file } 

Check this Laracast Thread

とハッシュする必要がありますhttps://laravel.com/を見てください。 docs/5.4/requests#files入力ファサードはもう使用されません。 –

関連する問題