88
99class MySqlGrammar extends IlluminateMySqlGrammar
1010{
11+ /**
12+ * The possible column modifiers.
13+ *
14+ * @var array
15+ */
16+ // protected $modifiers = [
17+ // 'Unsigned', 'Charset', 'Collate', 'VirtualAs', 'StoredAs', 'Nullable',
18+ // 'Default', 'Increment', 'Comment', 'After', 'First', 'Srid',
19+ // ];
20+
21+ public function __construct ()
22+ {
23+ $ this ->modifiers [] = 'Srid ' ;
24+ }
25+
1126 /**
1227 * Adds a statement to add a geometry column.
1328 *
14- * @param \Illuminate\Support\ Fluent $column
29+ * @param Fluent $column
1530 *
1631 * @return string
1732 */
@@ -23,7 +38,7 @@ public function typeGeometry(Fluent $column)
2338 /**
2439 * Adds a statement to add a point column.
2540 *
26- * @param \Illuminate\Support\ Fluent $column
41+ * @param Fluent $column
2742 *
2843 * @return string
2944 */
@@ -35,7 +50,7 @@ public function typePoint(Fluent $column)
3550 /**
3651 * Adds a statement to add a linestring column.
3752 *
38- * @param \Illuminate\Support\ Fluent $column
53+ * @param Fluent $column
3954 *
4055 * @return string
4156 */
@@ -47,7 +62,7 @@ public function typeLinestring(Fluent $column)
4762 /**
4863 * Adds a statement to add a polygon column.
4964 *
50- * @param \Illuminate\Support\ Fluent $column
65+ * @param Fluent $column
5166 *
5267 * @return string
5368 */
@@ -59,7 +74,7 @@ public function typePolygon(Fluent $column)
5974 /**
6075 * Adds a statement to add a multipoint column.
6176 *
62- * @param \Illuminate\Support\ Fluent $column
77+ * @param Fluent $column
6378 *
6479 * @return string
6580 */
@@ -71,7 +86,7 @@ public function typeMultipoint(Fluent $column)
7186 /**
7287 * Adds a statement to add a multilinestring column.
7388 *
74- * @param \Illuminate\Support\ Fluent $column
89+ * @param Fluent $column
7590 *
7691 * @return string
7792 */
@@ -83,7 +98,7 @@ public function typeMultilinestring(Fluent $column)
8398 /**
8499 * Adds a statement to add a multipolygon column.
85100 *
86- * @param \Illuminate\Support\ Fluent $column
101+ * @param Fluent $column
87102 *
88103 * @return string
89104 */
@@ -95,7 +110,7 @@ public function typeMultipolygon(Fluent $column)
95110 /**
96111 * Adds a statement to add a geometrycollection column.
97112 *
98- * @param \Illuminate\Support\ Fluent $column
113+ * @param Fluent $column
99114 *
100115 * @return string
101116 */
@@ -107,13 +122,28 @@ public function typeGeometrycollection(Fluent $column)
107122 /**
108123 * Compile a spatial index key command.
109124 *
110- * @param \Grimzy\LaravelMysqlSpatial\Schema\ Blueprint $blueprint
111- * @param \Illuminate\Support\ Fluent $command
125+ * @param Blueprint $blueprint
126+ * @param Fluent $command
112127 *
113128 * @return string
114129 */
115130 public function compileSpatial (Blueprint $ blueprint , Fluent $ command )
116131 {
117132 return $ this ->compileKey ($ blueprint , $ command , 'spatial ' );
118133 }
134+
135+ /**
136+ * Get the SQL for a SRID column modifier.
137+ *
138+ * @param Blueprint $blueprint
139+ * @param Fluent $column
140+ *
141+ * @return string|null
142+ */
143+ protected function modifySrid (Blueprint $ blueprint , Fluent $ column )
144+ {
145+ if (!is_null ($ column ->srid ) && is_int ($ column ->srid ) && $ column ->srid > 0 ) {
146+ return ' srid ' .$ column ->srid ;
147+ }
148+ }
119149}
0 commit comments