1

我正在开发一个遗留应用程序,这是我第一次使用教义(通常是一个 Rails 人)。

我在数据库上手动创建了一个名为“SNACKS”的新表(命名约定全部大写)。

我创建了一个模型/实体/Snack.dcm.yaml 文件:

Snack:
    type: entity
    table: SNACKS
    fields:
        id:
            id: true
            type: integer
            unsigned: false
            nullable: false
            generator:
                strategy: IDENTITY
        patient_id:
            type: integer
            unsigned: false
            nullable: false
        snack_name:
            type: string
            length: 50
            fixed: false
            nullable: false
        created_at:
            type: datetime
            nullable: false
        updated_at:
            type: datetime
            nullable: false
    lifecycleCallbacks: {  }

但仍然得到这个错误:[Semantical Error] line 0, col 14 near 'Snack s': Error: Class 'Snack' is not defined.

我还注意到模型目录“model/”中有一些文件并将其复制过来:

<?php



use Doctrine\ORM\Mapping as ORM;

/**
 * Snacks
 */
class Snack
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var integer
     */
    private $patient_id;

    /**
     * @var text
     */
    private $snack_name;

    /**
     * @var datetime
     */
    private $created_at;

    /**
     * @var datetime
     */
    private $updated_at;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }


    /**
     * Get id
     *
     * @return integer 
     */
    public function getPatientId()
    {
        return $this->patient_id;
    }


    public function setPatientId($patient_id)
    {
            $this->patient_id = $patient_id;
        return $this->patient_id;
    }

    /**
     * Set name
     *
     * @param string $name
     * @return Medicines
     */
    public function setSnackName($name)
    {
        $this->snack_name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getSnackName()
    {
        return $this->snack_name;
    }

    /**
     * Set generic
     *
     * @param string $generic
     * @return Medicines
     */
    public function setCreatedAt($datetime)
    {
        $this->created_at = $datetime;

        return $this;
    }

    /**
     * Get generic
     *
     * @return string 
     */
    public function getCreatedAt()
    {
        return $this->created_at;
    }

    /**
     * Set contraInd
     *
     * @param string $contraInd
     * @return Medicines
     */
    public function setUpdatedAt($datetime)
    {
        $this->updated_at = $datetime;

        return $this;
    }
}
  • 请注意评论是错误的,因为我从现有文件中复制了它并更改了我需要的内容。

任何想法为什么 Doctrine 没有找到课程?

4

1 回答 1

0

好吧,通过阅读学说教程并最终找到作曲家的 bootstrap.php 文件来解决这个问题。

看起来以前的开发人员手动需要所有模型文件,所以我不得不在那里添加 require。

希望对某人有所帮助。

于 2013-08-05T18:06:24.537 回答