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
+
0
-

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
+
0
-

zadne dalsi metody, ktere pracuji s tags (nebo articles) tam uz nemas?

Phalanx
Člen | 310
+
0
-

@DavidMatějka Ještě settery – doplňuji

Phalanx
Člen | 310
+
0
-

Už jsem to našel, byla tam ještě další metoda pracující s Articles… Ach jo, omlouvám se za Váš čas :(