2015-07-21 67 views
0

我用hautelook /翘bundleand我需要为我的开发人员负载能力我写SkillsLoader.php:灯具爱丽丝Symfony的

class LoadSkillssData extends AbstractFixture implements OrderedFixtureInterface 
{ 
public function load(ObjectManager $manager) 
{ 
    $all_skills = 
     [ 
      'doctrine 2', 
      'Memcache', 
      'QA', 
      'testing', 
      'web design', 
      'EJB 3' 
     ]; 
    for ($i = 1; $i<=172; $i++) 
    { 
     $skills = new Skills(); 
      $skills -> setId($i); 
      $skills ->setSkill($all_skills[$i]); 
     $manager->persist($skills); 
     $manager->flush(); 

    } 
} 

public function getOrder() 
{ 
    return 1; // the order in which fixtures will be loaded 
} 

但我创建实体技能SETID(),因为我有错误ID不能为空。但我的问题是如何使用YML文件我CANU PLOAD技能fixteures,这是爱丽丝bundleand我

Artel\CustomerBundle\Entity\Cities: 
cities{1..50}: 
city: <city()> 

Artel\CustomerBundle\Entity\Developers: 
users{1..20}: 
location: @cities* 
level: <?php $names = ['Junior', 'Middle', 'Senior']; echo $names[array_rand($names)]; ?> 
main_skill: @skills* 
firstName: <firstName()> 
lastName: <lastName()> 
username: <firstNameMale()> 
telephone: <phoneNumber()> 
skype: skypeName 
email: <email()> 
password: <password()> 
roles: <?php $names = ['ROLE_ADMIN', 'ROLE_USER', 'ROLE_AGENT', 'ROLE_COMPANY']; echo $names[array_rand($names)]; ?> 

Artel\CustomerBundle\Entity\Skills: 
skills{1..30}: 
skill: ???? 

回答

0

This tutorial什么都有覆盖。您可以为每个实体创建不同的YAML文件,并按正确的顺序(依赖关系)加载它们,然后在其他装置中引用技能。

如果您的问题是从YAML文件中创建技巧需要构造调用,那么也可以这样做(如教程中所示)。