es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

php artisan migrate:fresh –seed, enviar y error.

Mi Modelo

class ProfilerContract extends Model
{
    protected $table = 'profiler_contracts';

    protected $attributes = [
        'contract_type',
        'contract_description',
        'profiler_infos_id',
        'created_at',
        'updated_at',
    ];

    protected $fillable = [
        'contract_type',
        'contract_description',
        'profiler_infos_id',
    ];
}

Mi Fábrica

public function definition(): array
{
    $profilerIDs = DB::table('profiler_infos')->pluck('id')->toArray();
    $contract_type = ['long-term', 'short-term'];
    return [
        'contract_type' => $this->faker->randomElement($contract_type),
        'contract_description' => $this->faker->realText(300),
        'profiler_infos_id' => $this->faker->randomElement($profilerIDs),
        'started_on' => $this->faker->date,
        'finished_on' => $this->faker->date,
    ];
}

ContractFactory.php

Mi DatabaseSeeder

class DatabaseSeeder extends Seeder
{
    public function run(): void
    {
        ProfilerContract::factory(10)->create();
    }
}

El mensaje de error que sigo recibiendo

> SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: insert into profiler_contracts (0, 1, 2, 3, 4, contract_type, contract_description, profiler_infos_id, updated_at, created_at) values (contract_type, contract_description, profiler_infos_id, created_at, updated_at, short-term, English!' said the Duchess; 'and most things twinkled after that--only the March Hare had just begun to think about stopping herself before she came rather late, and the reason so many tea-things are put out here?' she asked. 'Yes, that's it,' said the Caterpillar, just as well. The twelve jurors., ?, 2021-12-13 05:05:03, 2021-12-13 05:05:03))

NB: Los datos son generados por fakers.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que las columnas 0, 1, 2, 3, 4 no se encuentran en la tabla profiler_contracts. Esto es inesperado ya que estas columnas no están definidas en el modelo ProfilerContract, como se observa en el fragmento de código proporcionado.

    Es posible que este error sea causado por una inconsistencia entre los nombres de las columnas en la tabla de la base de datos y las propiedades del modelo. Verifique que los nombres de las columnas en la tabla profiler_contracts coincidan con las propiedades definidas en el modelo ProfilerContract.

    Además, la propiedad attributes en el modelo ProfilerContract parece estar mal definida. Esta propiedad debería definir valores predeterminados para cada atributo, pero los valores aquí son incompletos y no tienen el formato correcto. Elimine esta propiedad o defínala correctamente con pares clave-valor para cada atributo.

    Finalmente, puede ser útil inspeccionar la consulta a la base de datos que está causando el error. Esto se puede hacer habilitando el registro de consultas a la base de datos y revisando la consulta SQL real que se está ejecutando.

Comments are closed.