1
我正在嘗試在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();
在這裏,我得到一個空白屏幕。 沒有一對多它工作正常。
'$ user-> getCarts() - > add($ cart);'不起作用。你必須在User實體中創建一個方法addCart() – Nanocom
是的,我有getCarts()和setOwner()。沒有em-> flush()可以正常工作。 – PiTheNumber