Algolia scout extended toSearchableArray not working properly

Good day,
In a laravel searchable model being connected to another model with a many to many relationships I’m using this toSearchableArray func:

public function toSearchableArray()


        $array = $this->toArray();

        $array = $this->transform($array);

        $array["services"] = $this->services->map(function ($data) {

            return $data['name'];


        $array['_geoloc'] = [

            'lat' => (float) $array['lat'],

            'lng' => (float) $array['lng'],


        return $array;


When I’m creating a new entry in my db now I can see everything except the service array which is empty.
Extract of my json in algolia:

  "services": [],
  "_geoloc": {
    "lat": 41.6743,
    "lng": 13.5192

What am I missing?

I’d like to add that when I use php artisan scout:import the data is read correctly and the services array gets filled, it’s just the synch not working properly.

I’m going to expand on this since I feel like I’ve tried pretty much everything.

When I use
protected $touches = ["services"];

I get an error since my service model isn’t using timestamp. Is this why I have the error? Is there any way to use ttouches on a model without timestamp?

I will answer my question: yes you need the timestamp in your db.
I restored the timestamp and now it works just fine.