When I access a model 'Location' in two different ways, I get two different versions of the model.

One has `location_id: nil`, one has `location_id: 3`

```
2.0.0-p481 :054 > e.shifts.last.location
 => #<Location id: 35, location_id: 3, name: "Hoxton Hotel", address_1: "81 Great Eastern St", postcode: "EC2A 3HU", lng: -0.0827515, lat: 51.5256224, locatable_id: 13, locatable_type: "Shift", created_at: "2015-09-10 09:59:55", updated_at: "2015-09-11 10:18:41", radius: 5.0> 

2.0.0-p481 :052 > Location.find(35)
  Location Load (0.8ms)  SELECT  "locations".* FROM "locations" WHERE "locations"."id" = $1 LIMIT 1  [["id", 35]]
 => #<Location id: 35, location_id: nil, name: "Hoxton Hotel", address_1: "81 Great Eastern St", postcode: "EC2A 3HU", lng: -0.0827515, lat: 51.5256224, locatable_id: 13, locatable_type: "Shift", created_at: "2015-09-10 09:59:55", updated_at: "2015-09-11 10:18:41", radius: 5.0> 

```

The model has this self-referential association:

```
has_many :children, class_name: "Location", foreign_key: "location_id", dependent: :nullify
belongs_to :parent, class_name: "Location", foreign_key: "location_id"

```

The issue is that when I do Location.find(3).children, not all of the children are coming back.