У меня есть модель, которую я планирую сохранить в двух разных таблицах, но у меня есть ошибка
Symfony \ Component \ Debug \ Exception \ FatalThrowableError Аргумент 1 передан в Illuminate \ Database \ Eloquent \Builder :: create () должен иметь тип массива, данный объект вызывается в C: \ xampp \ htdocs \ blog \ vendor \ laravel \ framework \ src \ Illuminate \ Support \ Traits \ ForwardsCalls.php в строке 23
первая таблица Transaction_in
, а вторая Transaction_in_detail
. Я планировал использовать idTransaction_in
в качестве соединителя между двумя таблицами, и этот столбец не является primaryKey (это хорошая практика)? Я могу сохранить входные данные в таблицу Transcation_in
, но все еще не смог сохранить входные данные во 2-ю таблицу, и я не знаю, как сделать столбец idTransaction_in
в качестве соединителя.
public function store(Request $request)
{
$request->validate([
'supplier_name' => 'required',
'transaction_in_date' => 'required|before_or_equal:today',
'device_type_name' => 'required',
'device_brand_name' => '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_name');
$transaction_in->tanggal_transaksi = $request->input('transaction_in_date');
$transaction_in->save();
$transaction_in->update(['idTransaction_in' => sprintf('TIN-%04d', $transaction_in->id)]);
$lastid=Transaction_in::create($transaction_in)->idTransaction_in;
if(count($request->device_type_name)>0){
foreach ($request->device_type_name as $item => $v) {
$data2=array(
'Transaction_in_id' => $lastid,
'DeviceType_id' => $request->device_type_name[$item],
'DeviceBrand_id' => $request->device_brand_name[$item],
'spek_device' => $request->device_spec[$item],
'harga_device' => $request->price[$item],
'jumlah_device' => $request->amount[$item],
'total_harga_device' => $request->total_price[$item]
);
Transaction_in_detail::insert($data2);
}
}
return redirect('/transactionsin')->with('success', 'Transaction success');
}
The DeviceType_id
и Devicebrand_id
- внешний ключ.