我试图用laravel 5.4上传多个图片,实际上上传图片的过程已经完成,问题是如何将它们存储在数据库中? 例如,当要创建一个包含多个上传图像的幻灯片时,如何对它们进行分组,以便幻灯片放映知道这些图像在一个组中?
你能帮助我吗?答案 0 :(得分:0)
确保您转到配置/文件系统并转到' FILESYSTEM_DRIVER'公共'
存储图像路径的模型:
class UserDocuments extends Model
{
//
protected $table = 'user_documents';
public function store($user_id, $document_link, $file_name)
{
$this->user_id = $user_id;
$this->document_link = $document_link;
$this->file_name = $file_name;
$this->save();
}
}
控制器中用于存储文件的代码('文档'是文件输入字段名称)
if ($request->hasFile('document')) {
$link = $request->file('document')->store('documents');
}
$userDocuments->store(request('user_id'), url($link), $link);
要显示图像是否在一个组中,您必须创建一个名为' group_id'的数据库列。并相应地对它们进行排序。
答案 1 :(得分:0)
我们必须通过分隔逗号将图像存储到一个记录/行中。
class DocumentController extends Controller
{
public function store(Request $request)
{
$pid = $request->input('pid');
$input = $request->file('files');
$picture = array();
if($request->hasFile('files')) :
foreach ($images as $item):
$extension = $item->getClientOriginalName(); //image extension
$name = time() . '.' .$extension; //image name
$item->move('uploads/documents/', $name); //move to destination
$arr[] = $name; //store image into array
endforeach;
$picture = implode(",", $arr); //Image separated by comma
else:
$picture = '';
endif;
DB::table('document')->insert(array('pid' => $pid,'image' => $picture));
Session::flash('message', 'Multiple Images are uploaded successfully');
return redirect('/multiple-image');
}
}