Целью этого является инициализация новых данных, которые вы собираетесь сохранить в базе данных в ближайшее время
$varientaccess = new Categoryvariantmapping();
, но вы помещаете их вне цикла
$varientaccess = new Categoryvariantmapping();
foreach(....)
, что означаетнезависимо от того, сколько строк внутри foreach, он будет сохранен только один раз, потому что вы не будете инициализировать снова
, поэтому решение состоит в том, чтобы поместить его в цикл
foreach(....) {
$varientaccess = new Categoryvariantmapping();
$varientaccesss->variant_id = $request->input('varient');
$varientaccesss->cat_id = $request->input('test');
$varientaccesss->rate = $request->input('cat_price');
$varientaccesss->status = '0';
$varientaccess->save();
}