I have user
, position
and unit
table.
If I use select distinct
, the result does not contain any column of position
and unit
:
public function getUsersByType(array $types)
{
$query = $this->db->getQueryBuilder();
$query
->selectDistinct("u.*", "position.position_name", "unit.unit_name")
->from("qlcb_user", "u")
->leftJoin(
"u",
"qlcb_unit",
"unit",
$query->expr()->eq("u.unit_id", "unit.unit_id")
)
->leftJoin(
"u",
"qlcb_position",
"position",
$query->expr()->eq("u.position_id", "position.position_id")
);
// $this->applyDynamicFilters($query, $types);
$result = $query->execute();
return ["users" => $result->fetchAll()];
}
Without distinct
, the code works perfectly. I don’t know why