数组到复选框,其中一些已选中,这取决于MtM


Array to checkbox with some checked depending on MtM

我有3个表:paginas, slider, pages_header(包含页面id + slider)

我需要从页面表中获得所有页面,然后检查paginas_slider表,如果它们有一个指定的滑块连接到它。我试图在纯mysql中做到这一点,但我不确定这是否可能。

我想用的是:

SELECT *
FROM paginas 
LEFT JOIN pagina_slider ON paginas.id = pagina_slider.pagina
WHERE pagina_slider.slider = '1'

问题是,这只给出了具有id为"1"的滑块连接到它的页面(完全有意义)。我想要的是,它吐出paginas表的所有页面,它做了一个额外的检查,看看它是否有一个滑块连接到它。

有谁能帮我一下吗?

如果你不想限制你的结果,但仍然想添加一个条件,你可以使用IF来给你必要的数据。

在本例中,如果hasSlider附加了滑块,则它将为1,否则为0:

SELECT *, IF(pagina_slider.slider = '1', 1, 0) AS hasSlider
FROM paginas 
LEFT JOIN pagina_slider ON paginas.id = pagina_slider.pagina