"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 implementar chaves primárias compostas no modelo Laravel 5?

Como implementar chaves primárias compostas no modelo Laravel 5?

Postado em 2025-04-29
Navegar:287

How to Implement Composite Primary Keys in Laravel 5 Models?

chaves primárias compostas nos modelos Laravel 5

Muitos bancos de dados empregam teclas primárias compostas, onde várias colunas formam o identificador exclusivo para cada linha. A chave primária padrão de Laravel, "id", nem sempre pode ser suficiente nesses casos. { ... // ... código adicional da resposta ... ... }

inclua essa característica em seu modelo e defina a propriedade $ primário para uma matriz representando as chaves compostas:

classe MyModel estende eloqüente { Use traços \ hascomposePrimaryKey; $ PrimaryKey protegido = ['key1', 'key2']; ... }

trait HasCompositePrimaryKey
{
    ...
    // ... Additional code from the answer ...
    ...
}

A característica substitui certos métodos de Laravel para lidar com as chaves compostas:

class MyModel extends Eloquent
{
    use Traits\HasCompositePrimaryKey;

    protected $primaryKey = ['key1', 'key2'];
    ...
}

getIncrementing ()

: retorna false para indicar não-incremento primário keys. Limitações

Embora esta solução forneça uma solução alternativa para teclas compostas, ela tem algumas limitações:
  • requer modificação da estrutura de Laravel, que pode não ser desejada em todos os cenários, e não pode ser adequado para os casos de uso complexos, e
  • não pode ser aproveitado para uso complexo. O método find () pode exigir ajustes para acomodar diferentes tipos de dados e estruturas de índice. Consulte a documentação do Laravel e os recursos on -line para obter mais orientações.
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