【发布时间】:2017-01-13 07:23:36
【问题描述】:
我是 Doctrine 的新手,我正在尝试制作一个 MongoDb 模型/集合。我有一个字段languages,它应该是数组。像这样的数组:
$var = [
array("fname"=>"test","lname"=>"test"),
array("fname"=>"test","lname"=>"test"),
array("fname"=>"test","lname"=>"test"),
];
但似乎我的类型声明不起作用。我有:
<?php
namespace RemoteStaff\Documents;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
/**
* Class CandidateAsl
* @package RemoteStaff\Documents
* @ODM\Document(db="prod", collection="candidates_asl")
*/
class CandidateAsl
{
/**
* Constructor class
*/
public function __construct(){
$this->languages = new ArrayCollection();
}
/**
* @var String
* @ODM\Id(strategy="AUTO", type="string")
*/
protected $_id;
/**
* @var string
* @ODM\Field(type="string", name="gender")
*/
private $gender;
/**
* @var \DateTime
* @ODM\Field(type="date", name="birthdate")
*/
private $birthdate;
/**
* @var string
* @ODM\Field(type="string", name="nationality")
*/
private $nationality;
/**
* @var string
* @ODM\Field(type="string", name="permanentAddress")
*/
private $permanentAddress;
/**
* @var \Doctrine\Common\Collections\ArrayCollection
*/
private $languages = [];
}
如何在学说模型中声明或设置数组字段?
我已阅读文档http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html 并尝试过
/**
* @var array
* @ODM\Field(type="array", name="languages")
*/
private $languages = [];
/**
* @return mixed
*/
public function getLanguages()
{
return $this->languages;
}
/**
* @param mixed $languages
*/
public function setLanguages($languages)
{
$this->languages = $languages;
}
我收到Invalid type specified "array".
【问题讨论】:
标签: php doctrine-orm orm doctrine