首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原则,当我创建元素时,我需要在同一个表的其他字段中使用id的值。

原则,当我创建元素时,我需要在同一个表的其他字段中使用id的值。
EN

Stack Overflow用户
提问于 2014-10-15 14:07:15
回答 2查看 79关注 0票数 0

我有一节课:

代码语言:javascript
复制
Article (id, code)

在创建文章时,我需要在字段代码中添加id。在我的数据库中,我需要有:

代码语言:javascript
复制
(id, code)

1, ARTICLE_1

2, ARTICLE_2

实际上,字段代码等于ARTICLE + ID,我尝试用以下方法来完成这个字段:

代码语言:javascript
复制
public function __construct() {

    $this->code = "ARTICLE_" . $this->getId();

}

但是,当我添加我的文章时,Id不会生成,函数getId什么也不返回。我试着测试postPersist()函数,但没有成功。

这方面有什么好的做法吗?

谢谢

德约

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-27 10:39:04

这就是解决方案:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/events.html#lifecycle-callbacks

我将注释@ORM\HasLifecycleCallback添加到我的实体中,并且我有一个函数:

代码语言:javascript
复制
/** @ORM\PostPersist */
public function doStuffOnPostPersist()
{
    $this->setCode('ARTICLE_' . $this->getId());

}

有了这个解决方案,我就有了id,因为我已经坚持了。

谢谢。

票数 0
EN

Stack Overflow用户

发布于 2014-10-15 14:11:40

在PHP中,您不能使用"+“操作符将字符串与变量连接起来,而只能使用”。符号。

试一试:

$this->code = "ARTICLE_" . $this->getId();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26384631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档