我有一个带有动态表的表单,可以在其中添加/删除行,当我将数据保存到Transaction_in
时,我想将数据保存到Transaction_in_detail
和Transaction_in
表中该表将按预期保存,但不会保存到Transaction_in_detail
。
无论提交表中有多少行,我提交数据时,Transaction_in_detail
表中保存的数据总会给我10条所有空行。
商店控制器
public function store(Request $request)
{
$request->validate([
'supplier_id' => 'required','transaction_in_date' => 'required|before_or_equal:today','device_type_id' => 'required','device_brand_id' => 'required','device_spec' => 'required|max:255','price' => 'required','amount' => 'required','total_price' => 'required','keterangan' => 'Nullable',]);
$transaction_in = new Transaction_in();
$transaction_in->idTransaction_in = "0";
$transaction_in->Supplier_id = $request->input('supplier_id');
$transaction_in->tanggal_transaksi = $request->input('transaction_in_date');
$transaction_in->save();
foreach ($transaction_in as $tin) {
$tdin[] = [
'Transaction_in_id' => $transaction_in->id[$tin],'DeviceType_id' => $transaction_in->device_type_id[$tin],'DeviceBrand_id' => $transaction_in->device_brand_id[$tin],'spek_device' => $transaction_in->device_spec[$tin],'harga_device' => $transaction_in->price[$tin],'jumlah_device' => $transaction_in->amount[$tin],'total_harga_device' => $transaction_in->total_price[$tin]
];
Transaction_in_detail::insert($tdin);
}
$transaction_in->update(['idTransaction_in' => sprintf('TIN-%04d',$transaction_in->id)]);
return redirect('/transactionsin')->with('success','Transaction success');
}
以下是dd()
的输出。
我不知道错误在哪里;这就是模型。
Transaction_in模型
class Transaction_in extends Model
{
protected $guarded = [];
public function get_suppliers()
{
return $this->belongsTo(Supplier::class,'Supplier_id');
}
public function get_devicetypes()
{
return $this->belongsToMany(DeviceType::class,'DeviceType_id');
}
public function get_devicebrands()
{
return $this->belongsToMany(DeviceBrand::class,'DeviceBrand_id');
}
}
class Transaction_in_detail extends Model
{
protected $guarded = [];
public function get_transction_in_id()
{
return $this->belongsTo(Transaction_in::class,'Transaction_in_id');
}
public function get_devicetypes()
{
return $this->belongsToMany(DeviceType::class,'DeviceBrand_id');
}
}
该表单位于Transaction_in
视图内,并且Store Controller
来自transaction_inController
,DeviceType_id
和DeviceBrand_id
都是外键。
这是数据库工作中的Transaction_in
表。