Curso Laravel - Salvando JSON no banco de dados - #19

Поделиться
HTML-код
  • Опубликовано: 18 янв 2025

Комментарии • 61

  • @adailtonemerick
    @adailtonemerick Год назад +1

    Excelente curso, Matheus! Estou "maratonando" o curso e, mesmo não sendo da área de desenvolvimento Web, está sendo muito enriquecedor! Um ponto dessa aula é que quando acessamos outros "Eventos" que criamos antes da implementação da gravação do JSON, o Laravel apresenta um erro ao visualizarmos esses eventos, porque $event->items é null para esses eventos iniciais (não é um array vazio no banco.... apenas null, gerado pela migration que fizemos). Nesse caso, adicionei a uma condicional do blade @if(isset($event->items)) antes da tag O evento conta com: da nossa view, fechando o @endif após a tag html , para que, os demais eventos, que não contavam com essa funcionalidade ainda, possam ser exibidos sem erros. Se forem atualizados depois, serão exibidos de qualquer maneira. Muito obrigado!

  • @rafael98php
    @rafael98php 2 года назад +1

    que foda ficou esse curso. Um mar de aprendizado!!

  • @lelis.designer
    @lelis.designer 4 года назад +1

    Muito TOP esse @Matheus Batisti, parabéns cara por disponibilizar seus conhecimentos assim com a gente!!!

  • @ariclenesmalanga4561
    @ariclenesmalanga4561 3 года назад +2

    Tenho aprendido muito com este curso, muito top, Deus abençoe vc(Apartir de Angola-Africa)

    • @MatheusBattisti
      @MatheusBattisti  3 года назад +1

      Oi Ariclenes, que bom que tu gostou e aprendeu , um abraço amigo!

    • @ariclenesmalanga4561
      @ariclenesmalanga4561 3 года назад

      @@MatheusBattisti conteúdo super interessante.
      agora estou com um erro qndo tento visualizar os primeiros eventos criados dá erro: Invalid argument supplied for foreach() , só funciona para eventos novos que já tenham sido cadastrados com os itens, por outra penso dá alguns erros ao carregar certas imagens.

    • @ariclenesmalanga4561
      @ariclenesmalanga4561 3 года назад

      ​@@MatheusBattisti Quando eu crio uma migration não aparece aquela linha do schema(tennho que digitar) e o "hasfactory" não funciona,
      as rotas não funcionam desse jeito:
      Route::post('/events', [EventController::class, 'store']) ----- só assim: Route::post('/events', 'EventController@store');
      tem haver com a versão do laravel ?

    • @mateuscristian42
      @mateuscristian42 3 года назад

      @@ariclenesmalanga4561 sim você esta usando uma versão mais antiga mesmo,eu usava assim como você descreveu,antigamente ,mas essa nova mudou a sintaxe.

  • @rafaelcarvalhoalencar3776
    @rafaelcarvalhoalencar3776 3 месяца назад +2

    SOLUÇÃO PARA O ERRO DO 'ARRAY NULL':
    1º No Controller mude a linha onde define as categorias para: $event->items = json_encode($request->items, JSON_UNESCAPED_UNICODE);
    2º Ainda no Controller, na classe onde você irá pegar os dados no Banco de Dados e enviar para a view você irá acrescentar: $event->items = json_decode($event->items);
    É uma solução manual ao problema. Ocorreu comigo no Laravel 11.X PHP 8.2 .

  • @lindopllay
    @lindopllay 3 года назад +2

    O curso está incrível, acabei de adquirir também o curso de SQL na udemy, Matheus se tiver como um dia gravar um vídeo navegando pela documentação, seria muito útil para o avanço no conhecimento do Laravel.

  • @SSLopes285
    @SSLopes285 2 года назад

    Muito obrigado pelo seu ensinamento estou aprendendo a cada dia com os cursos de Hora de Codar

  • @josuebarros-desenvolvedorw2490
    @josuebarros-desenvolvedorw2490 4 года назад +4

    Que curso incrivel! Outra coisa: Amei o fato de voce ensinar a gente a configurar o VS Code para usar o Laravel. Maioria dos cursos incentiva comprarmos PHP Storm. Sei que PHP Storm é uma otima IDE, mas para quem ta começando fica puxado pagar uma IDE...

  • @vinicivianaloss
    @vinicivianaloss 2 года назад

    Conteúdo muito bom, parabéns.

  • @joaopoliceno8844
    @joaopoliceno8844 Год назад

    Muito bom.

  • @brenopantoja4398
    @brenopantoja4398 2 года назад

    Alias, Parabéns pela a video-Aula, muito bom!

  • @9victorcr
    @9victorcr 3 года назад

    Professor qual melhor prática salvar em json ou criar uma nova tabela com esses itens e fazer uma seleção de dados entre ambas as tabelas ???

  • @alissonnascimento8488
    @alissonnascimento8488 2 года назад

    Que incrivel

  • @carvalhosantosmarcio
    @carvalhosantosmarcio 4 года назад

    conteúdo maravilhoso!

  • @yanmendes7618
    @yanmendes7618 2 года назад

    Caaaara que incrível, uma pergunta: Qual é a diferença entre "json" e "jsonb" ? Tem alguns projetos que eu trabalho que salvam os dados no banco como "jsonb"

  • @alisondiegodev
    @alisondiegodev Год назад +1

    Pessoal que comentou que os outros itens que não tem a propriedade JSON estavam dando erro, é só fazer a validação antes de rodar o foreach assim:
    @if($event->items != "")

  • @josejorgepacheco
    @josejorgepacheco Год назад

    Dúvida...: Se eu ja tenho o banco de dados mysql com as tabelas. na criação do site preciso ainda ter migrations ? se "não", então como acessar os registros ?

  • @casfreitastube
    @casfreitastube 3 года назад +3

    Boa noite Matheus. Obrigado pelo ótimo conteúdo! Venho acompanhando o curso e cheguei até aqui. Até agora tudo deu certo conforme você ensinou. Mas percebi que, quando vou realizar um cadastro, se eu deixar algum campo em branco, há um erro no cadastro. O cadastro só funciona se eu preencher todos os campos. Não sei se, mais pra frente, vc vai mostra como resolver isso, mas se é um erro, poderia mostrar como resolver esse problema? Obrigado!

    • @franksilva4432
      @franksilva4432 3 года назад

      up

    • @mateuscristian42
      @mateuscristian42 3 года назад

      Quando fizer a migration coloca que o dado pode ser nulo,resolve.

    • @AlissonCostaBrr
      @AlissonCostaBrr 3 года назад +1

      opa, da uma pesquisada nisso aqui, pode resolver seu problema, no caso eu usei com o campo imagem. $table->string('image')->nullable(); isso fica no arquivo de migration, esse nullable significa que o valor pode ser nulo

    • @vittorfonsecaserra5728
      @vittorfonsecaserra5728 Год назад

      Eu resolvi assim :
      public function up(): void
      {
      Schema::table('events', function (Blueprint $table) {
      $table->json('items')->nullable();
      });
      }

    • @vittorfonsecaserra5728
      @vittorfonsecaserra5728 Год назад

      e no blade é só fazer isso
      @if($event->items != null)
      @foreach($event->items as $item)
      {{$item}}
      @endforeach
      @else
      Não possui mais informações
      @endif

  • @riverdiniz4697
    @riverdiniz4697 2 года назад

    Nesse caso professor se eu já tenho um banco de dado pronto preciso fazer isso?

  • @tharllesjhoinessilvate200
    @tharllesjhoinessilvate200 3 года назад

    Ola bom dia!! tenho dois modelos diferentes ( cliente e telefone ), quero adicionar um campo no form d cliente que serviria pra adicionar telefones, mas queria que esse registro de telefone fosse uma foreignkey! desculpe se n estou sabendo explicar!! consigo salvar um registro so por vez!

  • @SSLopes285
    @SSLopes285 2 года назад

    So que estou ter problemas em adicionar uma coluna do tipo json com migration. $table->json('items');

  • @wagnebezerra4522
    @wagnebezerra4522 2 года назад

    ola boa tarde , a aula foi otima , mas da erro quando eu testei os demais cards

  • @BrandevTech
    @BrandevTech 3 года назад

    Excelentes aulas. Com algumas mudanças estou seguindo esse curso usando o ajax para não recarregar a página. É uma pena que a tag {{}} do blade só funciona no script se o codigo estiver embutido na view. Importando não.

    • @MatheusBattisti
      @MatheusBattisti  3 года назад +1

      opa, isso acontece por causa da renderização do PHP antes de mostrar o HTML =(

  • @brenopantoja4398
    @brenopantoja4398 2 года назад +1

    Meu foreach() Funcionou desta forma (Eu fiz o download do Laravel 10/05/2022, uso Xammp, Visual Studio Core, Windows 10):
    O evento conta com:

    {{-- It has taking data of database (Column 'items') as list form --}}


    @foreach($event->items as $event-> items)
    {{$event->items }}

    @endforeach

  • @ronisouza5499
    @ronisouza5499 2 года назад

    Mas não iria salvar como json no banco? Como faz pra salvar com formato de json ao invés de array

  • @SSLopes285
    @SSLopes285 2 года назад +1

    Mensagem de erro: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in y
    our SQL syntax; check the manual that corresponds to your MariaDB server version
    for the right syntax to use near 'json not null' at line 1 (SQL: alter table `e
    vents` add `items` json not null)

  • @JonatasCoelho
    @JonatasCoelho 3 года назад

    Cara, eu tenho um arquivo JSON existente, como faço para retornar esse arquivo no laravel via API usando o Insomia?

  • @luigiraynel8718
    @luigiraynel8718 3 года назад

    Ótimo curso e estou aprendendo muito! Só tenho agradecer pelo conteúdo. Estou passando por um problema que ocorre quando salvo o json no Banco de dados, só é salvo o último item selecionado da checkbox. Daí quando faço foreach dar erro. Alguém pode me ajudar?

    • @lidiaz0
      @lidiaz0 Год назад

      Oi! Vc já deve ter resolvido, mas deixar aqui para quem mais estiver com dúvida. Isto deve estar ocorrendo pois quando vc definiu o name do input vc esqueceu de colocar os colchetes para sinalizar que é uma lista. Tem que deixar assim: .Desta forma ele vai adicionar os valores à array. Se deixar apenas "items", sem colchetes, ele apenas vai sobrescrever o último valor que vc marcar no checkbox, perdendo os valores anteriores. Abraço!

  • @jeovaoliveira132
    @jeovaoliveira132 3 года назад

    Muito boa a aula, porém no meu deu um problema, de dizer que no meu Model não existe o HasFactory. Não vai.

    • @mateuscristian42
      @mateuscristian42 3 года назад +1

      no terminal da php artisan make:model (nome do model) ou pode copiar outro model e alterar o nome dele

  • @booorabattle778
    @booorabattle778 3 года назад +1

    eu fui fazer a alteração do list-style no css e nao mudou nada

    • @MatheusBattisti
      @MatheusBattisti  3 года назад

      opa Petros, provavelmente tem algum erro no seletor de CSS ou na regra..

  • @Gabriel-ex8mv
    @Gabriel-ex8mv 3 года назад

    Meu arquivo json ao salvar no banco fica "on" para as checkbox selecionadas(no caso era pra aparecer as informações dos itens), como será que posso resolver ?

    • @uerleygabriel2755
      @uerleygabriel2755 3 года назад +1

      Veja se o seu input está correto

    • @Gabriel-ex8mv
      @Gabriel-ex8mv 3 года назад

      @@uerleygabriel2755 realmente estava faltando algo no input, valeu!!

  • @raylsoncavalcante3875
    @raylsoncavalcante3875 Год назад

    Quando salvo o Json no banco algumas palavras com acentos ficam todas bagunçadas no banco. Alguém me ajuda

    • @alisondiegodev
      @alisondiegodev Год назад

      Acho que criar o banco com unicode utf8 resolve

  • @jeffersoncavpes
    @jeffersoncavpes Год назад

    Dados vetorizados é um crime com o Banco de Dados.

  • @matheusbaptista27
    @matheusbaptista27 8 месяцев назад

    SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'description' cannot be null
    estou tendo este erro na hora de compilar e carregar a pagina de "Items" quando vou criar o evento, aparece a pagina de erro do laravel com esta mensagem ai, e os dados nao sobem para o Banco de Dados. (criar evento somente com imagem esta dando certo, mas quando crio com os itens é que da erro) estou a um dois já tentando encontrar o erro kkkk alguma ajuda?

    • @matheusbaptista27
      @matheusbaptista27 8 месяцев назад

      refiz todo o código, e deu certo!

    • @AntonioGarciaMarin
      @AntonioGarciaMarin 7 месяцев назад

      @@matheusbaptista27 Puedes cambiar definicion en la migracion usando $table->text('description')->nullable(false);
      Esto requiere hacer un php artisan migrate:fresh o reset