【发布时间】:2018-06-12 12:03:47
【问题描述】:
我有一个 Product 类和一个 Image 类。每个产品都有许多图像。我相信我已经正确建立了关系,但是在创建产品时,我在创建图像时遇到了麻烦。我有一个函数接受一个请求,该请求包含一个包含产品详细信息的 JSON 对象,包括图像数组。我将 JSON 转换为变量,但如果我只是将变量保存到数据库中,它只会保存产品详细信息,不包括图像。我使用以下方法查看了 trid,但 $product 变量未被识别为 Product 类型,因此无法识别 Product 类上的 images()。
$product->images()->save($images)
这是用于创建产品的函数:
public function api_create(Request $request)
{
try {
$product = new Product;
$product = json_decode($request->getContent(), true);
$images = $product['images'];
return Product::create($product);
} catch (Exception $exception) {
return "error";
}
}
在产品类中:
public function images(){
return $this->hasMany('App\Image', 'productId');
}
在图像类中:
public function product(){
return $this->belongsTo('App\Product', 'productId');
}
图像数据库列:id(PK)、productId(FK)、imageUrl
产品数据库列:id(PK)、标题、描述
【问题讨论】:
-
您必须添加一个循环来添加来自 json 的图像。
标签: php json laravel laravel-5