Provo a dare una soluzione: forse non dipende dal codice PHP ma dall'istruzione SQL
Probabilmente la chiave che collega la prima tabella alla seconda non e' verificata per un determinato valore di cat_id (in poche parole un determinato valore che esiste in ax.cat_id non esiste in v.id.
In questo caso i campi della tabella #__tabmart verranno valorizzati, mentre tutti i campi della tabella #__tabmart_category verranno ritornati con il valore "null"