任何人,请帮我解决这个问题。我是教义的新手。经过一段时间配置与 zend(版本 1.10.8)一起使用的学说(版本 2.3)。除了最后一步,一切正常。我有一个像这样的表“测试表”
CREATE TABLE IF NOT EXISTS `testtable` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;
INSERT INTO `testtable` (`id`, `name`) VALUES
(1, 'test1'),
(2, 'what');
这是实体注释
<?php
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="testtable")
* @ORM\Entity
*
*/
class Tallcat_Doctrine_Entity_Test
{
/**
* @ORM\Column(type="string")
*/
private $name;
/**
* @ORM\Id @ORM\Column
* @ORM\GeneratedValue
*/
private $id;
/**
* @param string $name
*/
public function setName($name)
{
$this->name = (string)$name;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
}
在zend的控制器中,我称之为测试:
class DoctrineController extends Zend_Controller_Action
{
protected $em = null;
public function init()
{
$this->em = \Zend_Registry::get('doctrine')->getEntityManager();
}
public function indexAction()
{
try{
$test = new Tallcat_Doctrine_Entity_Test();
$testMap = $this->em->getRepository('Tallcat_Doctrine_Entity_Test')- >findAll();
echo '<pre>';
print_r($testMap);
echo '</pre>';
die();
}catch(Exception $ex) {
print_r($ex);die();
}
}
}
这是结果:
Array
(
[0] => Tallcat_Doctrine_Entity_Test Object
(
[name:Tallcat_Doctrine_Entity_Test:private] =>
[id:Tallcat_Doctrine_Entity_Test:private] => 1
)
[1] => Tallcat_Doctrine_Entity_Test Object
(
[name:Tallcat_Doctrine_Entity_Test:private] =>
[id:Tallcat_Doctrine_Entity_Test:private] => 2
)
)
我不知道文件名有什么问题,它无法加载。我尝试保存一条记录,它可以保存Id,除了文件名。有人可以帮忙。