Php 如何使用laravel 5.4在数据库中上载和保存多个图像?
我试图用Laravel5.4上传多幅图像,实际上上传图像的过程已经完成,问题是如何将它们存储在数据库中? 例如,当要创建一个包含多个上传图像的幻灯片时,如何对它们进行分组,以便幻灯片知道这些图像在一个组中Php 如何使用laravel 5.4在数据库中上载和保存多个图像?,php,laravel,file-upload,Php,Laravel,File Upload,我试图用Laravel5.4上传多幅图像,实际上上传图像的过程已经完成,问题是如何将它们存储在数据库中? 例如,当要创建一个包含多个上传图像的幻灯片时,如何对它们进行分组,以便幻灯片知道这些图像在一个组中 你们能帮帮我吗?请确保转到config/filesystems并将“FILESYSTEM\u DRIVER”改为“public” 用于存储图像路径的模型: class UserDocuments extends Model { // protected $table = 'us
你们能帮帮我吗?请确保转到config/filesystems并将“FILESYSTEM\u DRIVER”改为“public” 用于存储图像路径的模型:
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();
}
}
控制器中存储文件的代码(“文档”是文件输入字段名)
要显示图像是否在一个组中,您必须创建一个名为“group_id”的数据库列,并相应地对它们进行排序
我们必须通过分隔逗号将图像存储到一个记录/行中
理想情况下,你应该有一个单独的文件夹,其中应包含所有上传的图像。db应仅用于存储其路径。将一个图像文件上传到系统上的文件夹很简单,它是数据库的定位器链接。您应该将图像路径保存在DB中(而不是实际图像),并将其加载到前端。如果图像在“组”中,您应该创建一个类别模型。然后定义图像和类别模型之间的关系。这样,您就可以选择与该类别相关的所有图像。例如,生日、婚礼或风景的类别。当然,上传图像的过程已经完成。将它们存储在名为“Images”的文件夹中,并保存它们的路径,我的意思是,当我们想在前端加载它们时,如何将它们放在同一组中?存储图像的代码正在工作,我认为组id可以解决这一问题。每次,如果我想把图像加载到前端,我会按他们的组id加载。谢谢。
if ($request->hasFile('document')) {
$link = $request->file('document')->store('documents');
}
$userDocuments->store(request('user_id'), url($link), $link);
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');
}
}