I'm running this query with the query builder
PHP Code:
$modifiche_precedenti = $this->db->table('modifiche_movimenti')
->select('prodotti_modifiche_movimenti.id_prodotto,
prodotti_modifiche_movimenti.quantita,
prodotti_modifiche_movimenti.operazione,
seriali_prodotti_magazzini_in_arrivo.n_seriale')
->join('prodotti_modifiche_movimenti', 'modifiche_movimenti.id = prodotti_modifiche_movimenti.id_modifica', 'left')
->join('seriali_prodotti_magazzini_in_arrivo', 'prodotti_modifiche_movimenti.id_modifica = seriali_prodotti_magazzini_in_arrivo.id_modifica
AND seriali_prodotti_magazzini_in_arrivo.anno = ' . $anno_precedente, 'left')
->where('modifiche_movimenti.id_movimento', $id_movimento)
->where('modifiche_movimenti.anno', $anno_precedente)
->get()
->getResultArray();
But it gives me the value of
n_seriale equal to NULL
I had the executed query printed in the log which is like this
Code:
SELECT
`prodotti_modifiche_movimenti`.`id_prodotto`,
`prodotti_modifiche_movimenti`.`quantita`,
`prodotti_modifiche_movimenti`.`operazione`,
`seriali_prodotti_magazzini_in_arrivo`.`n_seriale`
FROM `modifiche_movimenti`
LEFT JOIN `prodotti_modifiche_movimenti`
ON `modifiche_movimenti`.`id` = `prodotti_modifiche_movimenti`.`id_modifica`
LEFT JOIN `seriali_prodotti_magazzini_in_arrivo`
ON `prodotti_modifiche_movimenti`.`id_modifica` = `seriali_prodotti_magazzini_in_arrivo`.`id_modifica`
AND `seriali_prodotti_magazzini_in_arrivo`.`anno` = 2024
WHERE `modifiche_movimenti`.`id_movimento` = 1
AND `modifiche_movimenti`.`anno` = 2024
And it is correct, but the expected result is not
So I took the query printed in the log and ran it in phpMyAdmin and the result is the expected one, the value of
n_seriale is no longer NULL but the value I expected
Why does this happen?