我试图在Doctrine 2.1中创建一个双向的一对多关系。 我将我的代码与手册和其他示例进行了比较,但仍然看不出我做错了什么。 我只得到一个空白的屏幕,所以很难调试。 (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();在这里我得到一个空白的屏幕。 没有一对多,它工作正常。
I am trying to create a bidirectional One-To-Many relation in Doctrine 2.1. I Compared my code to the manual and to other examples but still can't see what I am doing wrong. I only get a blank screen so it's hard to debug. (log_threshold = 4 but no error in the log).
I have those two tables:
user
id namecart
id itemsAnd here are my two models (in short):
/** * @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; }Then I try to link them
$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();Here I get a blank screen. Without One-To-Many it works fine.
最满意答案
好吧,我自己想通了。 诀窍是显示错误消息:
error_reporting(E_ALL); ini_set('display_errors', '1');我需要用值填充一些字段。 不允许为空。 DOH!
Ok, I figured it out myself. The trick was to show error messages:
error_reporting(E_ALL); ini_set('display_errors', '1');I needed to fill some fields with values. There were not allowed to be null. DOH!
更多推荐
发布评论