Właśnie założyłem nową stronę internetową i chciałem skorzystać z Eloquent. W procesie rozsiewania mojej bazy danych zauważyłem, że otrzymam puste wiersze dodane, gdybym zawarł jakiś konstruktor w modelu, który rozszerza elokwencję. Na przykład, bieganie to punktowe:Konstruktory w klasach rozszerzających Eumquent
<?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'
)
);
}
}
z tego, ponieważ mojej klasie drużyny:
<?php
class Team extends Eloquent {
protected $table = 'tm_team';
protected $primaryKey = 'team_id';
public function Team(){
// null
}
}
Daje to:
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
prostu usuwając konstruktora wszystko razem pozwala siewnik do pracy jako spodziewany. Co dokładnie robię źle z konstruktorem?
Ponieważ Eloquent ma swój własny konstruktor, a to, co robisz, niweczy wszystkie działania, które wymagają wymownej pracy. – crynobone