Get all the related data from WordPress DB

Your problem is the constants OBJECT_K.

In the documentation you can read that this constant ensures that duplicate keys are discarded.

From the wordpress codex entry:

Any of ARRAY_A | ARRAY_N | OBJECT | OBJECT_K constants. With one of the first three, return an array of rows indexed from 0 by SQL result row number. Each row is an associative array (column => value, …), a numerically indexed array (0 => value, …), or an object. ( ->column = value ), respectively. With OBJECT_K, return an associative array of row objects keyed by the value of each row’s first column’s value. Duplicate keys are discarded.

WordPress codex: get_results