我正在尝试在Doctrine 2.1中创建双向一对多关系。我将我的代码与manual和其他examples进行了比较,但仍然看不出我做错了什么。我只得到一个空白的屏幕,所以很难调试。 (log_threshold = 4但日志中没有错误。)
我有两张桌子:
用户
id
name
车
id
items
以下是我的两个模型(简称):
/**
* @Entity
* @Table(name="user")
*/
class User
{
/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @OneToMany(targetEntity="Cart", mappedBy="user_id")
*/
private $carts;
}
/**
* @Entity
* @Table(name="cart")
*/
class Cart
{
/**
* @Id
* @Column(type="integer", nullable=false)
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ManyToOne(targetEntity="User", inversedBy="carts")
*/
private $user;
}
然后我尝试链接他们
$user = $this->em->find('models\User', 8);
$cart = new models\Cart();
$user->getCarts()->add($cart);
$cart->setOwner($user);
$this->em->persist($cart);
$this->em->flush();
这里我得到一个空白屏幕。 没有一对多,它可以正常工作。
答案 0 :(得分:0)
好的,我自己弄清楚了。诀窍是显示错误消息:
error_reporting(E_ALL);
ini_set('display_errors', '1');
我需要用值填充一些字段。不允许为空。 DOH!