php - Symfony2 无法持久化有关系的列

标签 php mysql symfony doctrine-orm auto-increment

我有一个董事会实体和一个股票实体。一个图板可以有很多共享(就像一个用户与另一个用户共享他制作的图板一样)。

董事会实体拥有一家汽车公司。名为 boardId 的列。股票实体有一个同名的列,将股票映射到看板。这是映射它的代码:

董事会:

/**
 *  @orm:OneToMany(targetEntity="Shares", mappedBy="boards", cascade={"persist",  "remove"})
 */
private $shares;

分享:

/**
 * @orm:ManyToOne(targetEntity="Boards", inversedBy="shares")
 * @orm:JoinColumns({
 *   @orm:JoinColumn(name="board_id", referencedColumnName="board_id")
 * })
 */
private $boards;

当我保留新共享时:

 $share = new Shares();
 $share->setMemberIdT($members[0]->getMemberId());
 $share->setMemberIdF($id);
 $share->setBoardId($boards[0]->getBoardId());
 $share->setDateShared();
 $share->setReceived(0);

我这样调用 boardId:

 $boards = $em->getRepository('PixbellyHomeBundle:Boards')
    ->findByBoardId($board);

我已经回显了 boardId,直到从字面上看,前面的行和 id 是正确的,但是当我调用 persist 时,我收到此错误:

"response":{"errorInfo":["23000",1048,"Column 'board_id' cannot be null"]}}

我认为这与关系有关,但我已经尝试了一切,但没有任何帮助,有什么帮助吗?

最佳答案

你应该这样做:

$share->setBoards($boards);

关于php - Symfony2 无法持久化有关系的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11789354/

相关文章:

mysql - 将 SQL 查询转换为查询构建器 Laravel

authentication - 在 Symfony2 单元测试中处理身份验证

symfony - 在 Symfony2 中访问关联实体的值的最佳实践是什么?

php - 以有效的方式计算行排名

MySQL:使用条件连接改进查询

javascript - 无法从 PHP 数组中检索数据,该数组由使用 JQuery Ajax 的 function() 返回

mysql - SQL存储过程,变量为空

symfony - 验证器组件中的翻译

php - 通过内容类型为 image Yii 的 php 文件显示图像

javascript - Google Adword Api 与 php 集成