gpt4 book ai didi

php - 插入具有关联的实体时,有没有办法只使用 FK 而不是检索实体?

转载 作者:IT王子 更新时间:2023-10-29 00:57:55 25 4
gpt4 key购买 nike

我需要插入一个具有关联的实体。

如果我已经拥有关联实体的 FK,有没有办法将主实体插入到数据库中,只填充 FK?

或者我总是必须这样做

  • 通过 FK 检索关联实体,
  • 填充引用关联的主要实体的属性,
  • 然后调用persist方法。

最佳答案

你想要一个 reference proxy

假设我有帖子和标签。一个帖子有很多标签。我从用户那里得到了一堆标签,他们检查了一堆复选框。

以下内容会在现有帖子中添加标签,而不是先获取每个标签实体。它通过使用由 EntityManager::getReference() 生成的引用代理来实现。 :

$tag_ids = $_POST['tag_id']; // an array of integers representing tag IDs.
$post = $em->getRepository('Post')->find($post_id); // returns a Post entity.

foreach($tags_ids as $tid){
$post->addTag($em->getReference('Tag',$tid));
}
$em->persist($post);
$em->flush();

关于php - 插入具有关联的实体时,有没有办法只使用 FK 而不是检索实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5382170/

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