0
我用DoctrineFixturesBundle來填充我的數據庫中的50000條記錄。我想讓一位老闆有很多員工。但現在當我充滿了我的分貝我有boss_id只有空值 我的加載功能:多對一的自我參考的數據夾具
public function load(ObjectManager $manager)
{
for ($i = 0; $i <= 50000; $i++) {
$employee = new Employee();
if($i == 0) {
$employee->setPosition('founder');
}
$employee->setFullName('new employee'.$i);
$employee->setSalary(50000 - $i);
$employee->setStartDate(new \DateTime());
if($i > 0) {
$employee->setBoss($manager->find(Employee::class,1));
$employee->setPosition('boss');
} elseif ($i >= 1000) {
$id = rand(2,1000);
$employee->setBoss($manager->find(Employee::class,$id));
$employee->setPosition('top-manager');
} elseif ($i >= 5000) {
$id = rand (1000,4999);
$employee->setBoss($manager->find(Employee::class,$id));
$employee->setPosition('manager');
} elseif ($i >= 10000){
$id = rand(5000,9999);
$employee->setBoss($manager->find(Employee::class,$id));
$employee->setPosition('worker');
}
$manager->persist($employee);
}
$manager->flush();
}
我的實體員工:
/**
* @var Employee
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Employee")
*/
private $boss;
public function setBoss(\AppBundle\Entity\Employee $boss = null)
{
$this->boss = $boss;
return $this;
}
我該怎麼辦這一招?我做錯了什麼?