Ich habe gerade eine neue Website gestartet und ich wollte Eloquent verwenden. Bei der Seeding meiner Datenbank bemerkte ich, dass ich leere Zeilen hinzufügen würde, wenn ich irgendeine Art von Konstruktor in das Modell aufgenommen hätte, das eloquent erweitert. Zum Beispiel diese Sämaschine ausgeführt wird:Konstruktoren auf Klassen erweitern 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'
)
);
}
}
Mit diesem als meine Team-Klasse:
<?php
class Team extends Eloquent {
protected $table = 'tm_team';
protected $primaryKey = 'team_id';
public function Team(){
// null
}
}
ergibt dies:
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
einfach den Konstruktor Entfernen alle zusammen ermöglicht die Seeder als arbeiten erwartet. Was genau mache ich falsch mit dem Konstruktor?
Weil Eloquent seinen eigenen Konstruktor hat und was Sie tun, verunsichern Sie die ganze Handlung, die eloquent arbeiten muss. – crynobone