Jag vill ställa frågan; ge mig objekt med id X och dess copy på språk "XX". Finns inte copy för efterfrågat språk så ge mig objektet men med copy på språket som är markerat med 1 i "primary"-kolumnen i tbl_lang (kommer alltid finnas ett defaultspråk alltså).
Finns översättning på objekt inom efterfrågat språk så är variabeln "translated" = true, annars false så man vet när det ska loopas.
Några förslag? SELECT inom SELECT för att få "translated"? SELECT inom WHERE för att kolla om det inte är NULL på efterfrågat språk? Eller kanske en IF-sats?
Har satt ihop denna, men kanske inte är "optimal"? Går att göra på bättre sätt?
$sql = "SELECT IF((SELECT id FROM tbl_lang WHERE id = $lang), 'true', 'false'), C.text FROM tbl_copy C";
$sql.= " INNER JOIN tbl_copy_map CM ON CM.copyID = C.id";
$sql.= " INNER JOIN tbl_objects O ON O.id = CM.objectID";
$sql .= " WHERE O.id = $objID";
$sql .= " AND CM.langID = IFNULL((SELECT id FROM tbl_lang WHERE id = $lang), $this->PRIMARY_LANGUAGE)";
254 ms totalt · 4 externa anrop · v20260731065814-full.868a69e5