Php ve sql etiketlemeyi

0 Cevap php

Benim veritabanında aşağıdaki tablolar vardır:

thread --- thread_replies --- replies thread --- thread_tags --- tags

thread: id, title, content, created, author_id

thread_tags: id, thread_id, tag_id

tags: id, name

Ben şu kullanarak belirli bir iş parçacığı için etiketleri seçebilirsiniz:

   SELECT GROUP_CONCAT(DISTINCT tags.name ORDER BY tags.name DESC SEPARATOR ',') AS tags
    FROM tags INNER JOIN thread_tags ON tag_id = tags.id
    INNER JOIN thread ON thread_id = thread.id
    WHERE thread.id = 20

Ancak ne yapmak istediğiniz tüm konuları seçtiğinizde, ben de her iş parçacığı ile ilgili tüm etiketleri seçmek istiyorum ...

Ben aşağıdaki gibi bir çok boyutlu bir dizi inşa etmek istiyorum:

    Array
(
    [t_id] => 20
    [title] => this is a title
    [content] => This is content
    [username] => username1
    [a_id] => 35
    [tags] => tag1, tag2, tag3
)

Ben her iş parçacığı için bu oluşturmak için kullanabileceğiniz ne sql deyimi bilmek istiyorum?

Ben tüm konuları ve bunların ilişkili yazarlarını seçin eğer öyleyse, nasıl ben de her iş parçacığı ile ilişkili etiketleri alabilirsiniz?

Şu anda ben her konu ve yazarı almak için kullanabilirsiniz:

SELECT thread.id AS t_id, thread.title,
                         thread.content, author.username, author.id AS a_id
                         FROM thread INNER JOIN author ON thread.author_id = author.id 

0 Cevap