0

親と子の両方がデータベースに適切に保存されていますが、子のparent_id nullを取得しています。私はドクトリンの例に従いました...しかしわかりません

namespace CD\Entity;
/**
 * @Entity
 */

class Category {


/**
* @Id 
* @Column(type="integer")
* @GeneratedValue(strategy="IDENTITY")
*/
private $id;

/** @Column(type="string",length=50) */
private $name;


/**
 * @OneToMany(targetEntity="Category", mappedBy="parent",cascade={"persist"})
 */
private $children;

/**
 * @ManyToOne(targetEntity="Category", inversedBy="children")
 * @JoinColumn(name="parent_id", referencedColumnName="id")
 */
private $parent;


// setters and getters ...

}

ここに私のコントローラ:

public function insertAction()
{

    $cm = new CD\Entity\Category();
    $cc = new CD\Entity\Category();

    $cm->name = 'mainCat';
    $cc->name = 'childCat';

    $cm->children = array($cc);

    $this->_em->persist($cm);
    $this->_em->flush();        

}

何が間違っているのか本当にわかりません

4

2 に答える 2

0

Doctrine Extensions、特にツリー拡張を試しましたか? このような作業は非常に簡単です。

于 2013-04-17T05:14:45.177 に答える