public static function boot() { parent::boot(); // Setup event bindings... Geocode::creating(function ($geocode) { if (trim($geocode->address) == '') { return false; } return $geocode; }); Geocode::created(function ($geocode) { $geocode = Geocode::find($geocode->id); $geocode->fetchGeo(); $geocode->save(); return $geocode; }); }
function geo() { $project = \DB::table('projects')->where('id', $this->id)->first(); $geo = new \stdClass(); $geo->lat = 450; $geo->lng = 450; if ($project->geo_type == 'lat_lng') { $geo->lat = floatval($project->geo_lat); $geo->lng = floatval($project->geo_lng); } if ($project->geo_type == 'address' && trim($project->geo_address) != '') { $geocode = Geocode::where('address', $project->geo_address)->first(); $geo->lat = floatval($geocode->lat); $geo->lng = floatval($geocode->lng); } return $geo; }