我有3张桌子:股票,颜色和图片;
颜色对股票有外键
并且图像在颜色上有外键
像这样
库存:
id | name
-------------------------
1 | Berlin - Paris
2 | Madrid - London
3 | Berlin - Paris
颜色:
id | stocks_id | icon
---------------------------------------
1 | 1 | img1.png
2 | 2 | img2.png
3 | 3 | img3.png
图片:
id | color_id | url
---------------------------------------
1 | 1 | img1.png
2 | 2 | img2.png
3 | 3 | img3.png
我正在使用模型将股票插入数据库,并使用attach()创建具有belongsTo关系的颜色。
如何使用带有外键颜色的attach()插入图像?
我已经用attach()尝试了很多东西,但是我坚持了2个月
我正在使用的代码:
$stock= new Stocks();
$stock->storeColors()->attach($request->color_name, array('icon' => request('icon')));
//the line I need to write:
$stock->storeColors()->storeImages()->attach($request->image);
最佳答案
你可以这样
$imagenes=[];
$stock= new Stocks();
$data = $stock->storeColors()->attach($request->color_name, array('icon' => request('icon')));
$color = Color::where('stock_id',$data->id)->first();
if ($request->hasFile('imagen')) {
foreach ($request->imagen as $image) {
$imagenes[]=
new Images([
'url' => $image->url
]);
$request->file('imagen')->move('imagenes/','imagenName.jpg');
}
}
$color ->images()->saveMany($imagenes);
关于php - Laravel如何将数据插入到两个彼此具有外键的表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58490938/