我正在开发一个遗留应用程序,这是我第一次使用教义(通常是一个 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 没有找到课程?