protected function configure() { parent::configure(); $this->setName('doctrine.orm.list')->addOption('entityManagerName', null)->setOption('filterQueryClosure', function (QueryBuilder $query, array $filterQueryCallbacks, $action, $container) { foreach ($filterQueryCallbacks as $callback) { call_user_func($callback, $query, $container); } })->setOption('createDataClosure', function (array $createDataCallbacks, $action, $container) { $dataClass = $action->getDataClass(); $data = new $dataClass(); foreach ($createDataCallbacks as $callback) { call_user_func($callback, $data, $container); } return $data; })->setOption('findDataByIdClosure', function ($id, array $findDataByIdCallbacks, $action, $container) { $em = $container->get('doctrine')->getEntityManager($action->getOption('entityManagerName')); $data = $em->getRepository($action->getDataClass())->find($id); foreach ($findDataByIdCallbacks as $callback) { if ($data) { $data = call_user_func($callback, $data, $em, $container); } } return $data; })->setOption('saveDataClosure', function ($data, $action, $container) { $em = $container->get('doctrine')->getEntityManager($action->getOption('entityManagerName')); $em->persist($data); $em->flush(); })->setOption('deleteDataClosure', function ($data, $action, $container) { $em = $container->get('doctrine')->getEntityManager($action->getOption('entityManagerName')); $em->remove($data); $em->flush(); }); }
protected function configure() { parent::configure(); $this ->setName('propel.list') ->setOption('filterQueryClosure', function (\ModelCriteria $query, array $filterQueryCallbacks, $action, $container) { foreach ($filterQueryCallbacks as $callback) { call_user_func($callback, $query, $container); } }) ->setOption('createDataClosure', function (array $createDataCallbacks, $action, $container) { $dataClass = $action->getDataClass(); $data = new $dataClass(); foreach ($createDataCallbacks as $callback) { call_user_func($callback, $data, $container); } return $data; }) ->setOption('findDataByIdClosure', function ($id, array $findDataByIdCallbacks, $action, $container) { $queryClass = $action->getDataClass().'Query'; $data = $queryClass::create()->findPk($id); foreach ($findDataByIdCallbacks as $callback) { if ($data) { $data = call_user_func($callback, $data, $container); } } return $data; }) ->setOption('saveDataClosure', function ($data, $action, $container) { $data->save(); }) ->setOption('deleteDataClosure', function ($data, $action, $container) { $data->delete(); }) ; }
protected function configure() { parent::configure(); $this ->setName('mandango.list') ->setOption('filterQueryClosure', function (Query $query, array $filterQueryCallbacks, $action, $container) { foreach ($filterQueryCallbacks as $callback) { call_user_func($callback, $query, $container); } }) ->setOption('createDataClosure', function (array $createDataCallbacks, $action, $container) { $data = $container->get('mandango')->create($action->getDataClass()); foreach ($createDataCallbacks as $callback) { call_user_func($callback, $data, $container); } return $data; }) ->setOption('findDataByIdClosure', function ($id, array $findDataByIdCallbacks, $action, $container) { $data = $container->get('mandango')->getRepository($action->getDataClass())->findOneById($id); foreach ($findDataByIdCallbacks as $callback) { if ($data) { $data = call_user_func($callback, $data, $container); } } return $data; }) ->setOption('saveDataClosure', function ($data, $action, $container) { $data->save(); }) ->setOption('deleteDataClosure', function ($data, $action, $container) { $data->delete(); }) ; }
protected function configure() { parent::configure(); $this->setName('mandango.list'); }
protected function configure() { parent::configure(); $this->setName('doctrine.orm.list'); }