假设我的数据库中有两个表:兔子和胡萝卜.兔子可以有0或多个胡萝卜,胡萝卜属于一只兔子.这是这两个表之间的1,n关系.
我有两个实体,兔子和胡萝卜.
我在模板中传递了一系列兔子,我想从每只兔子那里得到特定的胡萝卜,然后展示它们:假设我想要从每个$中获得10个更贵的胡萝卜(胡萝卜价格将存储在胡萝卜表中)兔子在阵列中.
就像是 :
{% for rabbit in rabbits %}
{% for carrot in rabbit.getMoreExpensiveCarrots %}
{{ carrot.price }}
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我正在使用存储库类,但如果我在Rabbit存储库类中创建函数getMoreExpensiveCarrots($ rabbit),我将无法从类似的实体类访问该函数,这就是我想要的:
$ rabbit-> getMoreExpensiveCarrots()
我认为这样做的一种方法是在Rabbit实体中创建一个getMoreExpensiveCarrots():
// Entity rabbit
class Rabbit
{
public function getMoreExpensiveCarrots()
{
// Access repository functions like getMoreExpensiveCarrots( $rabbit )
// But how can I do such thing ? Isn't that bad practise ?
return $carrots;
}
}
Run Code Online (Sandbox Code Playgroud)
我以为我也可以这样做:
// Entity rabbit
class Rabbit
{
public function getMoreExpensiveCarrots()
{
$this->getCarrots(); …Run Code Online (Sandbox Code Playgroud)