2

どうすればこれを修正できますか?

<?php

namespace entity;

/**
 * @Entity @Table(name="debt")
 * */
class Debt {

/**
 * @Id @Column(type="integer") @GeneratedValue
 * */
protected $id;

/**
 * @Column(type="integer")
 * */
protected $value;

/**
 * @ManyToOne(targetEntity="people", inversedBy="debts")
 * */
protected $who;

public function setValue($value) {
    $this->value = $value;
}

public function setWho(Who $who) {
    $this->who = $who;
}
public function getValue() {
    return $this->value;
}
public function getWho() {
    return $this->who;
}

}

<?php

namespace entity;

/**
 * @Entity @Table(name="people")
 * */
class People {

/**
 * @Id @Column(type="integer") @GeneratedValue
 * */
protected $id;

/**
 * @Column(type="string")
 * */
protected $name;

/**
 * @OneToMany(targetEntity="debt", mappedBy="who")
 * */
protected $debts;

public function setName($name) {
    $this->name = $name;
}

public function assignDebt(Debt $debt) {
    $this->debts[] = $debt;
}

public function getName() {
    return $this->name;
}

public function getDebts() {
    return $this->debts;
}

}

私がしようとしているとき:$em->getRepository("entity\Debt")->findAll()私はこのエラーが発生しています:

警告:require(C:\ Windows \ TEMP__CG__entitypeople.php):ストリームを開くことができませんでした:C:\ xampp \ htdocs \ skola \ vendor \ doctrine \ orm \ lib \ Doctrine \ ORM \ Proxy\ProxyFactoryにそのようなファイルまたはディレクトリはありません。 92行目のphp

致命的なエラー:require():必要な'C:\ Windows \ TEMP__CG__entitypeople.php'(include_path='。;C:\ xampp \ php \ pear; C:\ pear; \ xampp \ php \ PEAR')をCで開くことができませんでした:\ xampp \ htdocs \ skola \ vendor \ doctrine \ orm \ lib \ Doctrine \ ORM \ Proxy \ ProxyFactory.php(92行目)

また、この部分を削除すると機能します。

/**
 * @ManyToOne(targetEntity="people", inversedBy="debts")
 * */
protected $who;
4

2 に答える 2

4

Doctrine でプロキシ ディレクトリをセットアップする必要があります

そのディレクトリはドクトリンのプロキシを書き込むために使用され、もちろん書き込み権限が必要です

http://docs.doctrine-project.org/en/2.0.x/reference/configuration.html#proxy-directory-required

于 2012-11-29T22:26:14.073 に答える