【发布时间】:2019-06-30 19:35:03
【问题描述】:
我正在尝试在数据库中保存多个产品图像。我创建了 images 表并与 products 表建立了关系。
控制器
public function store(Request $request)
{
$formInput = $request->all();
$image = array();
if ($files = $request->file('image')) {
foreach ($files as $file) {
$name = $file->getClientOriginalName();
$file->move('images', $name);
$image[] = $name;
}
}
//dd($formInput);
Product::create(array_merge($formInput,
[
// 'product_id'=>$product->id,
'image' => 'what to put here',
'seller_id' => Auth::user()->id,
]));
return redirect()->back();
}
图像模型
class Image extends Model
{
protected $table = 'images';
protected $fillable = ['product_id', 'image'];
public function product()
{
return $this->belongsTo('App\Product', 'product_id');
}
}
产品型号
class product extends Model
{
protected $table = 'products';
protected $primaryKey = 'id';
protected $fillable = ['seller_id', 'pro_name', 'pro_price', 'pro_info', 'stock', 'category_id'];
public function images()
{
return $this->hasMany('App\Image', 'product_id');
}
}
当我dd($formInput) 时,我看到了所有的细节,包括图像,但是我如何将它们提交到数据库?图片到图片表和产品详细信息到产品表。
【问题讨论】:
-
您在过去一两天中已经就此提出了七个问题,但您并没有真正从给出的答案中提取信息。我可以建议您稍微备份一下,并尝试一些教程来帮助您了解我认为您可能缺少的一些基础知识。尝试 Laracasts 作为初学者,Jeff Way 非常棒。不努力,但我认为如果没有一些基础知识,SO 将无法帮助您构建所需的东西:)
-
没有不好的感觉。我尝试按照您建议的方式进行操作,但无法获取产品 ID。 @Watercayman
-
如果您真的想将图像存储在数据库中(通常最好使用文件系统),请使用
file_get_contents()。
标签: php mysql laravel laravel-5 eloquent