Eso se debe a que solo creas un objeto de la clase productUnit. Tienes que crear un objeto
por cada fila de la tabla. Básicamente estás guardando el mismo objeto en cada celda del array y remplazando sus datos una y otra vez. Prueba así.
Código PHP:
Ver originalfunction getAllProducts() {
global $connexio;
$query = "SELECT * FROM product_unit;";
$i = 0;
$product = new productUnit();
$product -> setId($row[0]);
$product -> setSerial($row[1]);
$product -> setStock($row[2]);
$product -> setWarranty($row[3]);
$product -> setRentalPrice($row[4]);
$product -> setPurchasePrice($row[5]);
$product -> setPurchaseDate($row[6]);
$product -> setProductBox($row[7]);
$product -> setProductTemplate($row[8]);
$product -> setCloset($row[9]);
$products[$i] = $product;
$i++;
}
return $products;
}
Ahora se crea en la variable $product un objeto nuevo por cada vuelta al bucle. Y por tanto en el array se guardará un objeto distinto cada vez.