Существует команда doctrine:fixture:load, которая загружает в мой database определенные поддельные данные (ранее созданный прибор class).
Я хочу создать свой own command (Консольные команды), который будет загружать только классы выбранный с поддельными данными. В документации все ясно, но я до сих пор не могу понять, какая должна быть логика, которая бы скачивала выбранные фальшивые данные.
protected function configure()
{
$this
// command name
->setName('app:download:fixture');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$output->write('There must be logic, but I do not have the faintest idea what it should be');
}
Я не прошу выполнять эту работу за меня, но прошу поделиться информацией по этой теме или советом.
Спасибо !
Не очень понятно, что вы пытаетесь сделать. Вы хотите загрузить только некоторые приборы? Каков ввод и что вы ожидаете получить на выходе.
@Bananaapple У меня уже есть классы приспособлений, которые отлично работают. Но я хочу загрузить эти данные отдельной командой. Итак, я бы создал команду для загрузки одной части моих приборов, а вторая команда загрузила бы остальные. Я понятия не имею, как я могу этого добиться
Что ж, если вы сделаете свои приборы доступными в качестве службы, вы можете вызывать их где угодно, в том числе изнутри команды ...
@Bananaapple, как сделать прибор доступным в качестве услуги? Не могли бы вы показать мне несколько примеров?




Это то, что вы ищете: Как вызывать команды в команде.
К сожалению, в новой версии doctrine fixtures это невозможно указывает, какие фикстуры загружать. Раньше вы могли это сделать: bin/console doctrine:fixtures:load --fixtures=path/to/fixture.
Здесь есть несколько вариантов:
Закрепляет команду ищет все услуги с тегом doctrine.fixture.orm. Вы можете играть с проходами компилятора динамически
загружайте их в зависимости от ваших потребностей. Не знаю, как это сделать технически.
Сделайте команду, которая загружает ваши данные вручную.
Сэр, у вас есть пример, как я могу загрузить свои данные вручную?
Ну похоже на класс приспособления. 1. вы должны использовать вводить EntityManager для вашей команды 2. продолжайте так же, как здесь
В чем вы не уверены? Писать команды для Symfony или писать собственные фикстуры?