** 更新:这在某种程度上与我使用 li3_doctrine2 模块的锂副本不兼容有关。从锂框架回购中提取并将教义模块添加为子模块后,它似乎工作正常。而且我知道我错误地设置了下面的示例模型和控制器。
我一直在尝试使用li3_doctrine2 模块将 Doctrine2 与 li3 一起使用。我一直按照模块的 github 页面上的说明进行操作,但一直遇到错误:
Could not find adapter `pdo_mysql` in class `lithium\\data\\Connections'
我检查了 phpinfo 并确认 pdo_mysql 正在加载。现在,我正在使用扩展 \li3_doctrine2\models\BaseEntity 的基本模型:
namespace app\models;
use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Doctrine\ORM\Mapping\GeneratedValue;
use Doctrine\ORM\Mapping\Id;
use Doctrine\ORM\Mapping\Table;
/**
* @Entity
* @Table(name="cn_blog_entries")
*/
class BlogEntries extends \li3_doctrine2\models\BaseEntity {
/**
* @Id
* @GeneratedValue
* @Column(type="integer")
*/
protected $id;
/**
* @Id
* @GeneratedValue
* @Column(type="integer")
*/
protected $user_id;
/**
* @Id
* @GeneratedValue
* @Column(type="string")
*/
protected $title;
/**
* @Id
* @GeneratedValue
* @Column(type="string")
*/
protected $uristub;
/**
* @Id
* @GeneratedValue
* @Column(type="text")
*/
protected $content;
/**
* @Id
* @GeneratedValue
* @Column(type="datetime")
*/
protected $date_publish;
/**
* @Id
* @GeneratedValue
* @Column(type="integer")
*/
protected $active;
/**
* @Id
* @GeneratedValue
* @Column(type="datetime")
*/
protected $timestamp_created;
/**
* @Id
* @GeneratedValue
* @Column(type="datetime")
*/
protected $timestamp_updated;
}
在我的控制器中,我将其保持为非常基本的测试:
<?php
namespace app\controllers;
use app\models\BlogEntries;
// use app\models\BlogEntryTags;
class BlogController extends \lithium\action\Controller {
public function index() {
$entries = BlogEntries::getRepository()->findBy();
var_dump($entries);
}
}
我已经回到这个问题好几个星期了。如果我无法弄清楚,我想这对我来说意味着锂中没有 Doctrine2。祝锂电的ORM有更好的关系支持!