原则2 MVC实体/控制器设计



这是一个简单的问题,因为我是一个菜鸟。我正在学习如何在 mvc 设计模式中使用原则,我似乎总是对应该将查询实体的代码放在哪里感到困惑。我有一种方法可以查询实体用户,它应该去哪里?它应该放在我的实体、控制器还是存储库中?

我的代码:

实体用户

<?php
namespace Entities;
use DoctrineCommonCollectionsArrayCollection;
/** @Entity(repositoryClass="EntitiesUserRepository") 
 *  @Table(name="users")
 */
 class Users {
/** @id @column */
protected $id;
/** @column */
protected $first;
/** @column */
protected $mi;
/** @column */
protected $last;
/** @column */
protected $userName;
/** @column */
protected $avatar;
/** @OneToMany(targetEntity="Blog", mappedBy="user") */
protected $blogs;
// Constructor
public function __construct() {
    $this->blogs = new ArrayCollection();
}
public function __get($property) {
    return $this->$property;
}
public function __set($property, $value) {
    $this->$property = $value;
}
}

获取用户的方法:应该去哪里?

public function getUsers(){
    $query = $this->_em->createQuery('SELECT u FROM EntitiesUsers u');
    return $query->getResult(DoctrineORMQuery::HYDRATE_ARRAY);
}

最好的方法是使用 RepositoryClass 并在那里添加您的自定义方法优点是,当我们使用 repository 类时,您不必重新定义 find 方法

http://mackstar.com/blog/2010/10/04/using-repositories-doctrine-2

相关内容

  • 没有找到相关文章

最新更新