ManyToMany покинул конструктор запросов на присоединение - PullRequest
0 голосов
/ 18 января 2020

У меня есть сущность A с отношением ManyToMany doctrine с сущностью B

Я хочу получить данные сущности A, используя построитель запросов следующим образом

        $data = array(
            0=>array(
                'entity_A_field_1'=>'entity_A_field_1_value',
                'entity_A_field_2'=>'entity_A_field_2_value',
                'entity_A_field_3'=>'entity_A_field_3_value',
                'entity_B'=>array(
                    0=>array(
                        'entity_B_field_1'=>'entity_B_field_1_value',
                        'entity_B_field_2'=>'entity_B_field_2_value',
                        'entity_B_field_3'=>'entity_B_field_3_value',
                    ),
                    2=>array(
                        'entity_B_field_1'=>'entity_B_field_1_value',
                        'entity_B_field_2'=>'entity_B_field_2_value',
                        'entity_B_field_3'=>'entity_B_field_3_value',
                    ),
                ),
            ),
            1=>array(
                'entity_A_field_1'=>'entity_A_field_1_value',
                'entity_A_field_2'=>'entity_A_field_2_value',
                'entity_A_field_3'=>'entity_A_field_3_value',
                'entity_B'=> null
            ),
        );

она - мои сущности : сущность A является продуктом

class Product
{

    /**
     * @ORM\ManyToMany(targetEntity="Category", inversedBy="products",cascade={"persist", "remove"})
     *
     * @ORM\JoinTable(
     *     name="store_product_category"
     * )
     */
    private $categories;

сущность B является категорией

class Category
{
    /**
     * @ORM\ManyToMany(targetEntity="Product", mappedBy="categories")
     */
    private $products;

Я хочу получить все мои продукты с их категориями, используя построитель запросов и без условий (если у них | ноль, если они не). Мне нужно получить их все.

$data = array(
            0=>array(
                'product_id'=>'product_id_value',
                'product_name'=>'product_name_value',
                'product_reference'=>'product_reference_value',
                'categories'=>array(
                    0=>array(
                        'category_id'=>'category_id_value',
                        'category_name'=>'category_name_value',
                        'category_token'=>'category_token_value',
                    ),
                    2=>array(
                        'category_id'=>'category_id_value',
                        'category_name'=>'category_name_value',
                        'category_token'=>'category_token_value',
                    ),
                ),
            ),
            1=>array(
                'product_id'=>'product_id_value',
                'product_name'=>'product_name_value',
                'product_reference'=>'product_reference_value',
                'category'=> null
            ),
        );

...