1

** 更新:这在某种程度上与我使用 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有更好的关系支持!

4

0 回答 0