2015-10-15 5 views
5

Ho bisogno di aiuto per salvare il nome del file caricato nella tabella del database usando laravel 5.1.Come salvare il nome del file caricato nella tabella utilizzando Laravel 5.1

codice

mio controller per salvare i dettagli delle immagini

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'); 
} 

mio codice della vista per l'accettazione di un'immagine

{!! 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() !!} 

Questo codice di controllo per memorizzare un'immagine funziona correttamente, ma dove sto cercando di salvare l'immagine il nome del file alla tabella, questo codice sta memorizzando il percorso del file nella tabella del database.

Poiché utilizzo il metodo diretto create() per memorizzare l'oggetto richiesta nella tabella, non so come memorizzare il nome del file anziché il percorso.

Check this Image for table data

+0

nel mio caso non ha funzionato perché il campo del database nome del file è lo stesso con il controllo di input di file id. Dopo averli modificati, il flusso dei dati del nome del file è stato separato e il nome del file è stato estratto dal controllo di input del file nel campo corrispondente –

risposta

8

Il problema è che la richiesta di dati non è cambiata, mentre hai caricato l'immagine. Quindi img_filename contiene ancora tmpdata.

Si può provare questo:

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

Questo è quello che stavo cercando ..... Grazie mille per me ha funzionato .... – dollar

0

codice che funziona per me:

$updir = 'images/'; 
$img_name = 'image.jpeg'; 
Request::file('img_filename')->move($updir, $img_name); 
+0

sì, anche questo funziona ... Grazie – dollar