Convert SQL to DQL

Asked

Viewed 111 times

1

Opa to all, I need to convert a SQL in DQL of Doctrine 2 if someone can help me thank you.

SELECT 
produtos.id, 
produtos.categoria_id, 
produtos.nome, 
produtos.descricao, 
produtos.valor, 
(SELECT group_concat(nome) 
FROM tags 
INNER JOIN produtos_tags ON rodutos_tags.tag_id = tags.id 
WHERE produtos.id= produtos_tags.produto_id) as teste 
FROM produtos 
INNER JOIN categorias ON produtos.categoria_id = categorias.id 
INNER JOIN produtos_tags ON produtos_tags.produto_id = produtos.id 
INNER JOIN tags ON produtos_tags.tag_id = tags.id 
GROUP BY produto_id

1 answer

0


To be able to set up a DQL, it is necessary to know the organization of the entities of its application and the relationship between them - if it is OneToMany, ManyToMany, ManyToOne or OneToOne. I will suggest a response but it is likely that I am wrong. In that case, try to provide the data I mentioned above. :)

See if it fits:

SELECT 
    p.id, 
    p.categoria, 
    p.nome, 
    p.descricao, 
    p.valor, 
    (
        SELECT group_concat(t.nome) 
        FROM Tags t2
        JOIN t.produtos p2
        WHERE p2.id = p.id
    ) as teste 
FROM Produto p
JOIN p.categorias c
JOIN p.tags t
GROUP BY p.id

Browser other questions tagged

You are not signed in. Login or sign up in order to post.