Я использую hautelook / alice-bundle, и мне нужны навыки загрузки для моих разработчиков. Я пишу SkillsLoader.php:
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 () для навыка сущности, потому что у меня идентификатор ошибки не может быть нулевым. Но мой вопрос, как использовать alice-bundle и в файле yml, я могу загрузить исправления навыков, это у меня есть
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: ????
Этот урок все покрыто. Вы можете создавать отдельные файлы YAML для каждой сущности и загружать их в правильном порядке (по зависимости), а затем ссылаться на навыки в других приборах.
Если ваша проблема заключается в том, что для создания навыка из файлов YAML требуется вызов конструкции, вы также можете сделать это (как показано в руководстве).
Других решений пока нет …