Двунаправленный один-ко-многим - PullRequest
1 голос
/ 11 ноября 2011

Я пытаюсь создать двунаправленное отношение «один ко многим» в Учении 2.1.Я сравнил свой код с руководством и другими примерами , но все еще не вижу, что я делаю неправильно.У меня только пустой экран, поэтому его сложно отлаживать.(log_threshold = 4, но в журнале нет ошибок).

У меня есть две таблицы:

user

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();

Вот я получаюпустой экран.Без One-To-Many все работает нормально.

1 Ответ

0 голосов
/ 11 ноября 2011

Хорошо, я понял это сам. Хитрость заключалась в том, чтобы показать сообщения об ошибках:

error_reporting(E_ALL);
ini_set('display_errors', '1');

Мне нужно было заполнить некоторые поля значениями. Там не было разрешено быть нулевым. DOH!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...