Я новичок в laravel, я пытаюсь добавить новый месяц в таблицу транзакций, но моя дублирующая запись вставляется с новыми данными, но я хочу, чтобы дублирующиеся данные совпадали с таблицей транзакций и не буду создавать снова, просто добавьте новые данные в таблицу транзакций.У кого-нибудь есть идея, пожалуйста, помогите мне, спасибо.
Контроллер
public function store(Request $request)
{
$project = Project::with('projectBillingInfo')->where('is_amc', 1)->get();
foreach ($project as $key => $value) {
$count = 0;
if ($value->projectBillingInfo->jan != null) {
$count = $count += 1;
$jan = $value->projectBillingInfo->jan;
}
if ($value->projectBillingInfo->feb != null) {
$count = $count += 1;
$feb = $value->projectBillingInfo->feb;
}
if ($value->projectBillingInfo->mar != null) {
$count = $count += 1;
$mar = $value->projectBillingInfo->mar;
}
if ($value->projectBillingInfo->apr != null) {
$count = $count += 1;
$apr = $value->projectBillingInfo->apr;
}
if ($value->projectBillingInfo->may != null) {
$count = $count += 1;
$may = $value->projectBillingInfo->may;
}
if ($value->projectBillingInfo->june != null) {
$count = $count += 1;
$june = $value->projectBillingInfo->june;
}
if ($value->projectBillingInfo->july != null) {
$count = $count += 1;
$july = $value->projectBillingInfo->july;
}
if ($value->projectBillingInfo->aug != null) {
$count = $count += 1;
$aug = $value->projectBillingInfo->aug;
}
if ($value->projectBillingInfo->sep != null) {
$count = $count += 1;
$sep = $value->projectBillingInfo->sep;
}
if ($value->projectBillingInfo->oct != null) {
$count = $count += 1;
$oct = $value->projectBillingInfo->oct;
}
if ($value->projectBillingInfo->nov != null) {
$count = $count += 1;
$nov = $value->projectBillingInfo->nov;
}
if ($value->projectBillingInfo->dec != null) {
$count = $count += 1;
$dec = $value->projectBillingInfo->dec;
}
// $trans =Transaction::pluck('month');
$allmonths = [
$jan ?? '', $feb ?? '', $mar ?? '', $apr ?? '', $may ?? '', $june ?? '', $july ?? '', $aug ?? '', $sep ?? '', $oct ?? '', $nov ?? '', $dec ?? ''
];
$result = array_filter($allmonths);
foreach ($result as $month) {
$transaction = Transaction::orderBy('id', 'desc')->first();
if ($transaction == null) {
$transaction_no = 0000;
} else {
$transaction_no = $transaction->transaction_no;
}
$transaction_nos = sprintf('%04d', $transaction_no + 1);
$transaction = new Transaction;
$transaction->project_id = $value->id;
$transaction->month = $month;
$transaction->transaction_no = $transaction_nos;
$transaction->save();
}
}
$data = [
'transation' => $transaction
];
return response()->json($data, 200);
}