diff --git a/src/Eloquent/HasGeometryScopes.php b/src/Eloquent/HasGeometryScopes.php new file mode 100644 index 0000000..287251b --- /dev/null +++ b/src/Eloquent/HasGeometryScopes.php @@ -0,0 +1,18 @@ +toWKT() . "', " . $this->postgisTypes[$geometryColumn]['srid'] . ")"; + + // Assumption is made that geometry A and geometry B has the same SRID + return $query->whereRaw("ST_Within(" . $geometryA . "," . $geometryB . ")"); + } +} \ No newline at end of file diff --git a/src/Eloquent/PostgisTrait.php b/src/Eloquent/PostgisTrait.php index 6a7fc0b..60dd555 100644 --- a/src/Eloquent/PostgisTrait.php +++ b/src/Eloquent/PostgisTrait.php @@ -2,6 +2,7 @@ use Illuminate\Database\Eloquent\Builder as EloquentBuilder; use Illuminate\Support\Arr; +use Phaza\LaravelPostgis\Eloquent\HasGeometryScopes; use Phaza\LaravelPostgis\Exceptions\PostgisFieldsNotDefinedException; use Phaza\LaravelPostgis\Exceptions\PostgisTypesMalformedException; use Phaza\LaravelPostgis\Exceptions\UnsupportedGeomtypeException; @@ -11,7 +12,8 @@ trait PostgisTrait { - + use HasGeometryScopes; + public $geometries = []; /** * Create a new Eloquent query builder for the model.