Поскольку у вас есть planet_id
в двух таблицах, вам нужно выбрать, к чему вы применяете where
.
Итак, попробуйте это:
$this->db->select('*')
->from('structures')
->join('surface', 'structures.planet_id=surface.planet_id AND structures.tile_id=surface.tile_id')
->where('structures.planet_id', $p->planet_id);
$query = $this->db->get();
Это может показаться глупым, потому что ваше объединение требует, чтобы оба planet_id
были одинаковыми, но where
этого не знает и нуждается в конкретных инструкциях.