[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)

Erro Foreach Laravel Objeto Vuejs - foreach() argument must be of type array|object, null given

[Finalizado Pelo Aluno]

Jean Silva
Criador Jean Silva 25/10/2022

Olá Professor, boa tarde!

Tudo bem?. Pode me ajudar por favor?.

Estou tentando salvar um objeto do vue para em meu laravel, portanto estou recebendo o erro a seguir foreach() argument must be of type array|object, null given.

Esse é o meu codigo normal, eu tentando adicionar sem o foreach, ele funciona, insere o valor do id da tabela moviment nas demais tabelas (cartMoviment e document), portanto na document, eu passo um objeto que preciso adicionar varias linhas considerando o mesmo moviment_id, portanto usando o foreach dos jeitos a seguir, sem sucesso, :(.

  public function store(StoreMovimentRequest $request)
    {
        $this->authorize('create', Moviment::class);
        $moviment = Moviment::create($request->validated());
        $moviment->cartMoviment()->create($request->validated());
        $moviment->document()->create($request->validated());
        return new MovimentResource($moviment);
    }

Foreach erro

        // foreach ($moviment->documents as $documents) {
        //     $moviment->document()->create($documents->validated());
        // }

        // foreach ($request["formNotaFiscal"] as $notaFiscal) {
        //     $dadosSalvar = [
        //         // 'moviment_id' => $notaFiscal->moviment_id,
        //         'key_number'  => $notaFiscal->validated('key_number'),
        //         'user_id'     => auth()->id()
        //     ];
        //     $moviment->document()->create($dadosSalvar);
        // }

        // foreach ($request["formNotaFiscal"] as $notaFiscal) {
        //     $dadosSalvar = [
        //         "key_number": $notaFiscal->key_number,
        //     ]
        //     $moviment->document->create($dadosSalvar);
        // }
Criador Jean Silva 25/10/2022

Segue os trechos, caso queira visualizar melhor o fonte,

https://github.com/jeanasilva/gt_back/blob/main/app/Http/Controllers/MovimentController.php

https://github.com/jeanasilva/gt_front/blob/c856bb25e4c0e764d8dfbce50d09f7949cd270ff/src/views/Moviment/MovimentCreate.vue#L72

Obrigado Professor.

Jean Silva
Manager Carlos Ferreira 25/10/2022

Olá, Jean!
Tudo bem?

Ajudo sim;

Conferi aqui no seu código, não tem o foreach.

De qualquer forma, não ficou claro de onde vem estes dados que está tentando iterar: $moviment->documents

No payload da request, que o Vue envia, estes dados estão sendo enviados certinhos, no formato array e etc?
Me dê mais detalhes por favor;

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!