#symfony #doctrine-orm #doctrine
#symfony #doctrine-orm #доктрина
Вопрос:
Скажем, у меня есть класс CoreDoctrine.php , и функция внутри него, которая будет использоваться для удаления записи из таблицы, вот код
public function delete($entityManager, $objek){
$entityManager->remove($objek);
$entityManager->flush();
$entityManager->clear();
echo "nn Data berhasil dihapus nn";
}
где $objek — это объект, который я хочу стереть, а параметр $ EntityManager — это объект EntityManager Doctrine, который возвращается из функции
и затем я запускаю этот код в index.php вот так
$doctrine = new CoreDoctrine();
$em = $doctrine->instantiateEntities(); //this function returns the EntityManager object
$doctrine->delete($em, $luki); //where $luki is the entity object
когда я выполняю код, ошибка не отображается, но данные не были удалены из базы данных….
я что-то упустил??
обновление : вот функция insinstantiateEntities() 🙂
public function instantiateEntities(){
$paths = array(__DIR__."/src");
$isDevMode = false;
// the connection configuration
$dbParams = array(
'host' => '127.0.0.1',
'driver' => 'pdo_mysql',
'user' => 'root',
'password' => '',
'dbname' => 'apbo2',
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = EntityManager::create($dbParams, $config);
return $entityManager;
}
Комментарии:
1. покажите нам код
instantiateEntities
. Также рассмотрите возможность использования службы Symfony2 для внедренияEntityManager
😉2. я обновил вопрос. это instantiateEntities() :))
3. Я вижу. Есть ли какая-то особая причина, по которой вы создаете экземпляры
EntityManager
самостоятельно? 🙂 Я имею в виду, Symfony2 сделал это за вас…4. Да, почему бы вам не позвонить с контроллера
$em = $this->getDoctrine()->getManager();
?5. хм .. я просто пытаюсь собрать все вместе внутри одного класса… это неправильный способ сделать это?