簡體   English   中英

Laravel-在單行中將多個圖像存儲在數據庫中

[英]Laravel - Storing multiple images in the database in Single Row

如何在laravel的數據庫中存儲多個圖像? 我有這段代碼,但是我無法傳遞任何數據,它只能傳遞一個數據。

我想在我的圖像行中實現這種數據庫格式

在此處輸入圖片說明

控制者

 public function store(Request $request)
{


   //Handle File Upload
   if($request->hasFile('city')){
    // Get FileName
    $filenameWithExt = implode(' , ',$request->file('city')->getClientOriginalName());
    //Get just filename
    $filename = pathinfo( $filenameWithExt, PATHINFO_FILENAME);
    //Get just extension
    $extension =  implode(' , ',$request->file('city')->getClientOriginalExtension());
    //Filename to Store
    $fileNameToStore = $filename.'_'.time().'.'.$extension;
    //Upload Image
    $path =  implode(' , ',$request->file('city')->storeAs('public/city_image',$fileNameToStore));

}else{
    $fileNameToStore='noimage.jpg';
}

   $citi = new City;
   $citi->city =$fileNameToStore;
   $citi->save();

   return redirect('/lugar')->with('success', 'Data Inserted');
}

視圖

                 <td> {{Form::file('city[]')}} </td>

您將要對其進行JSON編碼。 使該數據庫字段為long text並在將值保存到數據庫時執行以下操作:

$citi->city = json_encode($fileNameToStore);

當您想讀取該值時,您將執行以下操作:

json_decode($citi->city);

現在,我建議做一個圖像數組並對它們進行編碼,然后解碼就可以了:

json_decode($obj->city, TRUE);

然后您將獲得陣列

您應該將圖像循環存儲。 city字段是一個數組。

我修改了您的功能。 讓我知道我做錯了什么。

public function store(Request $request)
{
    if($request->hasFile('city'))
    {
       $file = Input::file('city');
       foreach($file as $key => $part) 
       {
          $filename = $part->getClientOriginalName();
          $filenameWithExt = implode(' , ',$filename);
          $filename = pathinfo( $filenameWithExt, PATHINFO_FILENAME);
          $extension =  implode(' , ',$part->getClientOriginalExtension());
          $fileNameToStore[$key] = $filename.'_'.time().'.'.$extension;
          $path =  implode(' , ',$part->storeAs('public/city_image',$fileNameToStore[$key]));
       }
       // converting images names array to comma separate string 
       $fileNameToStore = implode (", ", $fileNameToStore);
    }else{
       $fileNameToStore = null; // if no image found then it should be null
    }

   $citi = new City;
   $citi->city = $fileNameToStore;
   $citi->save();

   return redirect('/lugar')->with('success', 'Data Inserted');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM