diff options
Diffstat (limited to 'src/model')
| -rw-r--r-- | src/model/entities/Article.php | 5 | ||||
| -rw-r--r-- | src/model/entities/Asset.php | 3 | ||||
| -rw-r--r-- | src/model/entities/NodeData.php | 21 |
3 files changed, 20 insertions, 9 deletions
diff --git a/src/model/entities/Article.php b/src/model/entities/Article.php index 5412497..b9cb4bb 100644 --- a/src/model/entities/Article.php +++ b/src/model/entities/Article.php | |||
| @@ -33,11 +33,10 @@ class Article | |||
| 33 | #[ORM\Column(type: "text")] | 33 | #[ORM\Column(type: "text")] |
| 34 | private string $content; // de l'éditeur html | 34 | private string $content; // de l'éditeur html |
| 35 | 35 | ||
| 36 | // liaison avec table intermédiaire | 36 | #[ORM\ManyToMany(targetEntity: Image::class, inversedBy: "article")] // cascade: ['remove'] = très dangereux! |
| 37 | #[ORM\ManyToMany(targetEntity: Image::class, inversedBy: "article")] | ||
| 38 | #[ORM\JoinTable( | 37 | #[ORM\JoinTable( |
| 39 | name: TABLE_PREFIX . "article_image", | 38 | name: TABLE_PREFIX . "article_image", |
| 40 | joinColumns: [new ORM\JoinColumn(name: "article_id", referencedColumnName: "id_article", onDelete: "CASCADE")], | 39 | joinColumns: [new ORM\JoinColumn(name: "article_id", referencedColumnName: "id_article", onDelete: "CASCADE")], // onDelete: "CASCADE": très utile |
| 41 | inverseJoinColumns: [new ORM\JoinColumn(name: "image_id", referencedColumnName: "id_image", onDelete: "CASCADE")] | 40 | inverseJoinColumns: [new ORM\JoinColumn(name: "image_id", referencedColumnName: "id_image", onDelete: "CASCADE")] |
| 42 | )] | 41 | )] |
| 43 | private Collection $images; | 42 | private Collection $images; |
diff --git a/src/model/entities/Asset.php b/src/model/entities/Asset.php index e1071b4..e359e21 100644 --- a/src/model/entities/Asset.php +++ b/src/model/entities/Asset.php | |||
| @@ -11,6 +11,9 @@ use Doctrine\ORM\Mapping as ORM; | |||
| 11 | #[ORM\Table(name: TABLE_PREFIX . "asset")] | 11 | #[ORM\Table(name: TABLE_PREFIX . "asset")] |
| 12 | class Asset | 12 | class Asset |
| 13 | { | 13 | { |
| 14 | const PATH = 'assets/'; | ||
| 15 | const USER_PATH = 'user_data/assets/'; | ||
| 16 | |||
| 14 | #[ORM\Id] | 17 | #[ORM\Id] |
| 15 | #[ORM\GeneratedValue] | 18 | #[ORM\GeneratedValue] |
| 16 | #[ORM\Column(type: "integer")] | 19 | #[ORM\Column(type: "integer")] |
diff --git a/src/model/entities/NodeData.php b/src/model/entities/NodeData.php index 5938eca..9db866e 100644 --- a/src/model/entities/NodeData.php +++ b/src/model/entities/NodeData.php | |||
| @@ -39,11 +39,10 @@ class NodeData | |||
| 39 | #[ORM\Column(type: "integer", nullable: true)] | 39 | #[ORM\Column(type: "integer", nullable: true)] |
| 40 | private ?int $pagination_limit = null; // pour les post_block et news_block | 40 | private ?int $pagination_limit = null; // pour les post_block et news_block |
| 41 | 41 | ||
| 42 | // liaison avec table intermédiaire | 42 | #[ORM\ManyToMany(targetEntity: Asset::class, inversedBy: "node_data")] // cascade: ['remove'] = très dangereux! |
| 43 | #[ORM\ManyToMany(targetEntity: Asset::class, inversedBy: "node_data")] | ||
| 44 | #[ORM\JoinTable( | 43 | #[ORM\JoinTable( |
| 45 | name: TABLE_PREFIX . "node_asset", | 44 | name: TABLE_PREFIX . "nodedata_asset", |
| 46 | joinColumns: [new ORM\JoinColumn(name: "node_data_id", referencedColumnName: "id_node_data", onDelete: "CASCADE")], | 45 | joinColumns: [new ORM\JoinColumn(name: "node_data_id", referencedColumnName: "id_node_data", onDelete: "CASCADE")], // onDelete: "CASCADE": très utile |
| 47 | inverseJoinColumns: [new ORM\JoinColumn(name: "asset_id", referencedColumnName: "id_asset", onDelete: "CASCADE")] | 46 | inverseJoinColumns: [new ORM\JoinColumn(name: "asset_id", referencedColumnName: "id_asset", onDelete: "CASCADE")] |
| 48 | )] | 47 | )] |
| 49 | private Collection $assets; | 48 | private Collection $assets; |
| @@ -137,8 +136,18 @@ class NodeData | |||
| 137 | { | 136 | { |
| 138 | return $this->assets; | 137 | return $this->assets; |
| 139 | } | 138 | } |
| 140 | public function setAssets(Collection $assets): void | 139 | public function addAsset(Asset $asset): void |
| 141 | { | 140 | { |
| 142 | $this->assets = $assets; | 141 | if(!$this->assets->contains($asset)){ |
| 142 | $this->assets->add($asset); | ||
| 143 | //$asset->addNodeData($this); // autre sens | ||
| 144 | } | ||
| 145 | } | ||
| 146 | public function removeAsset(Asset $asset): void | ||
| 147 | { | ||
| 148 | $this->assets->removeElement($asset); | ||
| 149 | /*if($this->assets->removeElement($asset)){ // autre sens | ||
| 150 | $asset->removeNodeData($this); | ||
| 151 | }*/ | ||
| 143 | } | 152 | } |
| 144 | } | 153 | } |
