Заметки WEB-разработчика

Полезные материалы для web-разработки

Однонаправленная связь один ко многим (One-To-Many) в DOCTRINE 2

Пример однонаправленной связи один ко многим (One-To-Many) в DOCTRINE 2

Однонаправленная связь один ко многим (One-To-Many) в DOCTRINE 2

Однонаправленная связь один ко многим (One-To-Many) в DOCTRINE 2

MySQL Schema:

CREATE TABLE Product (
    id INT AUTO_INCREMENT NOT NULL,
    PRIMARY KEY(id)
) ENGINE = InnoDB;
CREATE TABLE Feature (
    id INT AUTO_INCREMENT NOT NULL,
    product_id INT DEFAULT NULL,
    PRIMARY KEY(id)
) ENGINE = InnoDB;
ALTER TABLE Feature ADD FOREIGN KEY (product_id) REFERENCES Product(id);

Модель

use Doctrine\Common\Collections\ArrayCollection;

/** @Entity */
class Product
{
    // ...
    /**
     * @OneToMany(targetEntity="Feature", mappedBy="product")
     */
    private $features;
    // ...

    public function __construct() {
        $this->features = new ArrayCollection();
    }
}

/** @Entity */
class Feature
{
    // ...
    /**
     * @ManyToOne(targetEntity="Product", inversedBy="features")
     * @JoinColumn(name="product_id", referencedColumnName="id")
     */
    private $product;
    // ...
}

Комментарии

Комментарии через Вконтакте