Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

278
Visualizações
El relleno de Laravel no establece la propiedad del componente

Me encontré con un problema con Laravel que espero que alguien pueda ayudar a explicar. El comando de relleno no establece las propiedades del modelo y, en su lugar, solo se puede usar para guardarlas en la base de datos con la función ->save() . ¿Hay alguna manera de fill donde realmente establece las propiedades del modelo a partir de una matriz?

Ejemplo de problema a continuación.

 $comment = new comment(); $comment->fill(['name' => 'Bob']); echo($comment->name); // Gives null/error.
 $comment = new comment(); $comment->name = 'Bob'; echo($comment->name); // Gives Bob.
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

El motivo es que el nombre archivado no se puede completar en el modelo de comentarios. Para resolver este problema, debe agregar un campo que se pueda completar para ese campo en el modelo de comentarios.

 protected $fillable = [ 'name', ];

Si intenta acceder a un campo no rellenable, devolverá un valor nulo.

Si no desea agregarlo como rellenable, puede usar forceFill .

forceFill : Rellene el modelo con una matriz de atributos con asignación de masa de fuerza.

 $comment = new comment(); $comment->forceFill(['name' => 'Bob']); echo($comment->name);
over 4 years ago · Santiago Trujillo Relatório

0

Sí, debe usar la propiedad fillable del modelo y debe agregar un name dentro de la matriz fillable . Esa es la forma recomendada de hacerlo.

Como sugiere la respuesta de John Lobo , puede anular ese mecanismo a la fuerza usando forceFill o forceCreate . Ambos ignoran la propiedad rellenable en el modelo. Es posible que tenga una columna como is_admin y no desee actualizarla, pero la fuerza lo hará.

Notas :

  1. El principal problema con forceCreate o forceFill , es que tenemos que gestionar la asignación de claves foráneas manualmente.

  2. forceFill solo llenará (propiedades). Necesita guardar la llamada al método para guardar el registro real, mientras que forceCreate llenará (propiedades) y guardará ambos juntos.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda