相关疑难解决方法(0)

Symfony2 - 在Entity中访问存储库功能

假设我的数据库中有两个表:兔子和胡萝卜.兔子可以有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)

entity symfony

15
推荐指数
3
解决办法
2万
查看次数

标签 统计

entity ×1

symfony ×1