gpt4 book ai didi

symfony - 使用 "namespace"在 Symfony2 中使用 Doctrine 创建一个新实体

转载 作者:行者123 更新时间:2023-12-04 22:23:19 26 4
gpt4 key购买 nike

你知道在 Symfony2 中可以定义一个新实体,如下例所示:

use Acme\StoreBundle\Entity\Product;

public function defaultController() {
$product = new Product();
$product->setName('Pippo');
$product->setPrice(19.99);
....
// Use Doctrine EntityManager to store the Product object
}

假设您知道 Product 类具有以下命名空间:“ AcmeHomeBundle:Product ”。通过使用命名空间(例如,通过使用 EntityManager 或类似的东西)来创建 $product 对象会很好。
public function defaultController() {
$item = createObjectFromNamespace("AcmeHomeBundle:Product");
$item->setName('Pippo');
$item->setPrice(19.99);
....
// Use Doctrine EntityManager to store the Item object
}

你知道这是否可能?

假设您有一个提供实体类型的字符串

最佳答案

你应该做这个...

$entityInfo = $this->em->getClassMetadata("entityNameSpace:entityName");
$entityMember = $entityInfo->newInstance();

如果您想通过字符串使用 setter 方法:
$entitySetMethod = "set".\ucfirst("entityDataMemberName");
\call_user_func(array($entityMember, $entitySetMethod), $parameter);

关于symfony - 使用 "namespace"在 Symfony2 中使用 Doctrine 创建一个新实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10652899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com