Возникла проблема с получением дубликатов данных с использованием laravel - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в 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);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...