"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso inserir várias linhas em um banco de dados usando o Eloquent ou o Query Builder?

Como posso inserir várias linhas em um banco de dados usando o Eloquent ou o Query Builder?

Publicado em 2024-12-21
Navegar:932

How Can I Insert Multiple Rows into a Database Using Eloquent or the Query Builder?

Inserir múltiplas linhas simultaneamente com Eloquent ou Fluent

Esta consulta explora como inserir múltiplas linhas em um banco de dados usando uma única consulta dentro do Eloquent estrutura (ou fluente). O exemplo fornecido recupera dados usando UserSubject::where('user_id', Auth::id())->select('subject_id')->get();. No entanto, a saída desejada requer a inserção desses dados em uma tabela separada com uma estrutura de colunas específica.

Solução:

A inserção de dados em massa é convenientemente facilitada pelo Eloquent ou pela consulta construtor. Considere as seguintes técnicas:

  • Abordagem Eloquente:

Utilize Model::insert($data); para inserir várias linhas. Essa abordagem incorpora mutadores, incluindo carimbos de data e hora. ($dados); para inserir linhas sem chamar modificadores.

  • Exemplo:
  • Dada uma matriz de dados de linha:

$data = [ ['user_id'=>'Codificador 1', 'subject_id'=> 4096], ['user_id'=>'Codificador 2', 'subject_id'=> 2048], //... ];

Inserindo-os usando o Eloquent:Model::insert($data);

Inserindo-os usando o Query Builder:

$data = [
    ['user_id'=>'Coder 1', 'subject_id'=> 4096],
    ['user_id'=>'Coder 2', 'subject_id'=> 2048],
    //...
];
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3