【发布时间】:2016-03-09 09:53:03
【问题描述】:
我怎样才能使这个例子发生? Garage en red Cars 之间没有任何关系。 Garage en Cars 之间只有一个关系。 我知道我可以为此使用存储库,但实际上我想要车库中的吸气剂,它只会返回红色汽车。我假设 DQL 将成为 awnser 的一部分。
$myFavoriteCars = $myGarage->getRedCars();
Garage.php:
---------------------------
@OneToMany(...Car...)
private $cars
public function getCars()
{
return $this->cars;
}
public function getRedCars()
{
// How to receive only the red cars?
// Some DQL in here?
}
Car.php:
-------------------------
@ManyToOne(...Garage...)
private $garage
private $color
谢谢。 理查德
【问题讨论】:
-
您的实体中不应有数据访问逻辑。它破坏了关注点分离,使测试更难,并且无助于可维护性。您的数据访问层和域层应该分开。这就是存储库的用途。
标签: php orm doctrine-orm model dql