Doctrine m:n uložení z inverzní strany 2
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- Phalanx
 - Člen | 310
 
Minulá diskuze se mi zvrhla v použití soft delete, proto ho v tomto příkladu nepoužiju (https://forum.nette.org/…erzni-strany).
Chyba je, když se přidává article nebo tag: Call to a member function contains() on array
Nerozumím proč je proměnná $articles i $tags array
<?php
class Article
{
    /**
     * Many Tags have Many Articles.
     * @var Tag[]|ArrayCollection
     * @ORM\ManyToMany(targetEntity="Tag", inversedBy="articles")
	 * @ORM\JoinTable(name="article_tag")
     */
    private $tags;
    public function __construct()
    {
        $this->tags = new ArrayCollection;
    }
    /**
     * @return Tag[]
     */
    public function getTags()
    {
        return $this->tags;
    }
	/**
	 * @param Tag[] $tags
	 * @return $this
	 */
	public function setTags($tags)
	{
		$this->tags = $tags;
		return $this;
	}
    public function addTag(Tag $tag)
    {
        if (!$this->tags->contains($tag)) {
            $this->tags->add($tag);
            $tag->addArticle($this);
        }
    }
}
class Tag
{
    private $articles;
    /**
     * Many Articles have Many Tags.
     * @var Article[]|ArrayCollection
     * @ORM\ManyToMany(targetEntity="Article", mappedBy="tags")
     */
    private $articles;
    public function __construct()
    {
        $this->articles = new ArrayCollection;
    }
    /**
     * @return Articles[]
     */
    public function getArticles()
    {
        return $this->articles;
    }
	/**
	 * @param Article[] $articles
	 * @return $this
	 */
	public function setArticles($articles)
	{
		$this->articles = $articles;
		return $this;
	}
    public function addArticle(Article $article)
    {
        if (!$this->articles->contains($article)) {
            $this->articles->add($article);
            $article->addTag($this);
        }
    }
}
?>
Děkuji za pomoc
Editoval Phalanx (23. 3. 2017 10:15)

- David Matějka
 - Moderator | 6445
 
zadne dalsi metody, ktere pracuji s tags (nebo articles) tam uz nemas?