私は初心者なので、これは簡単な質問です。私は mvc デザイン パターンでドクトリンを使用する方法を学んでいますが、エンティティをクエリするコードをどこに置くべきかについて常に混乱しているようです。エンティティ ユーザーをクエリする方法がありますが、どこに行けばよいですか? エンティティ、コントローラー、またはリポジトリに配置する必要がありますか?
私のコード:
ENTITY ユーザー
<?php
namespace Entities;
use Doctrine\Common\Collections\ArrayCollection;
/** @Entity(repositoryClass="Entities\UserRepository")
* @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 Entities\Users u');
return $query->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);
}