2015-10-15 17 views
5

laravel 5.1を使用してアップロードしたファイル名をデータベーステーブルに保存する際に助けが必要です。画像Laravel 5.1を使用してテーブルにアップロードしたファイル名を保存する方法

{!! Form::open(array('route'=>'offerimage.store','role'=>'form','files'=>true)) !!} 
       <div class="box-body"> 

       <div class="form-group"> 
        {!! Form::label('img_name','Name') !!} 
        {!! Form::text('img_name', $value = null, $attributes = array('class'=>'form-control','id'=>'img_name','required')) !!} 
       </div> 

       <div class="form-group"> 
        {!! Form::label('img_description','Description') !!} 
        {!! Form::textarea('img_description', $value = null, $attributes = array('class'=>'form-control','id'=>'img_description','required')) !!} 
       </div> 

       <div class="form-group"> 
        {!! Form::label('img_filename','Upload Image') !!} 
        {!! Form::file('img_filename') !!} 
       </div> 



       {!! Form::hidden('status',$value='active') !!} 

       </div><!-- /.box-body --> 

       <div class="box-footer"> 
       {!! Form::submit('Submit',$attributes=array('class'=>'btn btn-primary')) !!} 
       </div> 
       {!! Form::close() !!} 

正常に動作した画像を保存するためにこのコントローラコードを受け入れるための画像の細部に

public function store(Request $request) 
{ 
    if($request->hasFile('img_filename')) 
    { 
     $destinationPath="offerimages"; 
     $file = $request->file('img_filename'); 
     $filename=$file->getClientOriginalName(); 
     $request->file('img_filename')->move($destinationPath,$filename); 

    } 

    $input=$request->all(); 
    Offer_image::create($input); 
    return redirect('offerimage'); 
} 

マイビューのコードを保存するが、私は、画像のファイル名を保存しようとしていますどこのため

マイコントローラー・コードテーブルに、このコードはファイルパスをデータベーステーブルに格納しています。

リクエストオブジェクトをテーブルに格納するために直接create()メソッドを使用しているため、パスの代わりにファイル名を格納する方法がわかりません。

Check this Image for table data

+0

id。それらを変更した後、ファイル名のデータフローが分離され、ファイル入力コントロールから対応するフィールドにファイル名が抽出されました –

答えて

8

問題は、あなたが写真をアップロードしている間、あなたの要求データが変更されていないことです。したがってimg_filenameにはまだtmpdataが含まれています。

あなたはこれを試すことができます。私の作品

$input = $request->all(); 
$input['img_filename'] = $filename; 
+0

これは私が探していたものです.....これは大変ありがとうございました.... – dollar

0

コード:

ファイル名のデータベースフィールドは、ファイル入力制御と同じであったので、それが働いていなかった私の場合には
$updir = 'images/'; 
$img_name = 'image.jpeg'; 
Request::file('img_filename')->move($updir, $img_name); 
+0

はいこれも動作します...ありがとう – dollar

関連する問題