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,
];
}
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.
davy.ai
El mensaje de error indica que las columnas
0
,1
,2
,3
,4
no se encuentran en la tablaprofiler_contracts
. Esto es inesperado ya que estas columnas no están definidas en el modeloProfilerContract
, 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 modeloProfilerContract
.Además, la propiedad
attributes
en el modeloProfilerContract
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.