Ho appena avviato un nuovo sito Web e volevo utilizzare Eloquent. Nel processo di seeding del mio database, ho notato che avrei aggiunto le righe vuote se avessi incluso qualsiasi tipo di costruttore sul modello che si estende eloquente. Ad esempio, l'esecuzione di questa seminatrice:Costruttori su classi che estendono Eloquent
<?php
class TeamTableSeeder extends Seeder {
public function run()
{
DB::table('tm_team')->delete();
Team::create(array(
'city' => 'Minneapolis',
'state' => 'MN',
'country' => 'USA',
'name' => 'Twins'
)
);
Team::create(array(
'city' => 'Detroit',
'state' => 'MI',
'country' => 'USA',
'name' => 'Tigers'
)
);
}
}
con questo come la mia classe della squadra:
<?php
class Team extends Eloquent {
protected $table = 'tm_team';
protected $primaryKey = 'team_id';
public function Team(){
// null
}
}
cede questo:
team_id | city | state | country | name | created_at | updated_at | deleted_at
1 | | | | | 2013-06-02 00:29:31 | 2013-06-02 00:29:31 | NULL
2 | | | | | 2013-06-02 00:29:31 | 2013-06-02 00:29:31 | NULL
semplicemente rimuovendo il costruttore tutti insieme permette la seminatrice a lavorare come previsto. Cosa sto facendo di sbagliato con il costruttore?
Poiché Eloquent ha il proprio costruttore e ciò che si sta facendo disinnesca tutta l'azione che eloquente ha bisogno di lavorare. – crynobone