Skip to content

Commit 0d09b30

Browse files
Added "after" support for morphs and nullableMorphs Blueprint (#56613)
* Added after supporto for morphs and nullableMorphs Blueprint Added after supporto for morphs and nullableMorphs Blueprint * Update Blueprint.php Fixed PHPDocs refs * Fixed nullable case morphable_id * Fixed copy/past typo * Fixed code styles
1 parent fbfe9ad commit 0d09b30

File tree

1 file changed

+52
-26
lines changed

1 file changed

+52
-26
lines changed

src/Illuminate/Database/Schema/Blueprint.php

Lines changed: 52 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1485,16 +1485,17 @@ public function vector($column, $dimensions = null)
14851485
*
14861486
* @param string $name
14871487
* @param string|null $indexName
1488+
* @param string|null $after
14881489
* @return void
14891490
*/
1490-
public function morphs($name, $indexName = null)
1491+
public function morphs($name, $indexName = null, $after = null)
14911492
{
14921493
if (Builder::$defaultMorphKeyType === 'uuid') {
1493-
$this->uuidMorphs($name, $indexName);
1494+
$this->uuidMorphs($name, $indexName, $after);
14941495
} elseif (Builder::$defaultMorphKeyType === 'ulid') {
1495-
$this->ulidMorphs($name, $indexName);
1496+
$this->ulidMorphs($name, $indexName, $after);
14961497
} else {
1497-
$this->numericMorphs($name, $indexName);
1498+
$this->numericMorphs($name, $indexName, $after);
14981499
}
14991500
}
15001501

@@ -1503,16 +1504,17 @@ public function morphs($name, $indexName = null)
15031504
*
15041505
* @param string $name
15051506
* @param string|null $indexName
1507+
* @param string|null $after
15061508
* @return void
15071509
*/
1508-
public function nullableMorphs($name, $indexName = null)
1510+
public function nullableMorphs($name, $indexName = null, $after = null)
15091511
{
15101512
if (Builder::$defaultMorphKeyType === 'uuid') {
1511-
$this->nullableUuidMorphs($name, $indexName);
1513+
$this->nullableUuidMorphs($name, $indexName, $after);
15121514
} elseif (Builder::$defaultMorphKeyType === 'ulid') {
1513-
$this->nullableUlidMorphs($name, $indexName);
1515+
$this->nullableUlidMorphs($name, $indexName, $after);
15141516
} else {
1515-
$this->nullableNumericMorphs($name, $indexName);
1517+
$this->nullableNumericMorphs($name, $indexName, $after);
15161518
}
15171519
}
15181520

@@ -1521,13 +1523,16 @@ public function nullableMorphs($name, $indexName = null)
15211523
*
15221524
* @param string $name
15231525
* @param string|null $indexName
1526+
* @param string|null $after
15241527
* @return void
15251528
*/
1526-
public function numericMorphs($name, $indexName = null)
1529+
public function numericMorphs($name, $indexName = null, $after = null)
15271530
{
1528-
$this->string("{$name}_type");
1531+
$this->string("{$name}_type")
1532+
->after($after);
15291533

1530-
$this->unsignedBigInteger("{$name}_id");
1534+
$this->unsignedBigInteger("{$name}_id")
1535+
->after(! is_null($after) ? "{$name}_type" : null);
15311536

15321537
$this->index(["{$name}_type", "{$name}_id"], $indexName);
15331538
}
@@ -1537,13 +1542,18 @@ public function numericMorphs($name, $indexName = null)
15371542
*
15381543
* @param string $name
15391544
* @param string|null $indexName
1545+
* @param string|null $after
15401546
* @return void
15411547
*/
1542-
public function nullableNumericMorphs($name, $indexName = null)
1548+
public function nullableNumericMorphs($name, $indexName = null, $after = null)
15431549
{
1544-
$this->string("{$name}_type")->nullable();
1550+
$this->string("{$name}_type")
1551+
->nullable()
1552+
->after($after);
15451553

1546-
$this->unsignedBigInteger("{$name}_id")->nullable();
1554+
$this->unsignedBigInteger("{$name}_id")
1555+
->nullable()
1556+
->after(! is_null($after) ? "{$name}_type" : null);
15471557

15481558
$this->index(["{$name}_type", "{$name}_id"], $indexName);
15491559
}
@@ -1553,13 +1563,16 @@ public function nullableNumericMorphs($name, $indexName = null)
15531563
*
15541564
* @param string $name
15551565
* @param string|null $indexName
1566+
* @param string|null $after
15561567
* @return void
15571568
*/
1558-
public function uuidMorphs($name, $indexName = null)
1569+
public function uuidMorphs($name, $indexName = null, $after = null)
15591570
{
1560-
$this->string("{$name}_type");
1571+
$this->string("{$name}_type")
1572+
->after($after);
15611573

1562-
$this->uuid("{$name}_id");
1574+
$this->uuid("{$name}_id")
1575+
->after(! is_null($after) ? "{$name}_type" : null);
15631576

15641577
$this->index(["{$name}_type", "{$name}_id"], $indexName);
15651578
}
@@ -1569,13 +1582,18 @@ public function uuidMorphs($name, $indexName = null)
15691582
*
15701583
* @param string $name
15711584
* @param string|null $indexName
1585+
* @param string|null $after
15721586
* @return void
15731587
*/
1574-
public function nullableUuidMorphs($name, $indexName = null)
1588+
public function nullableUuidMorphs($name, $indexName = null, $after = null)
15751589
{
1576-
$this->string("{$name}_type")->nullable();
1590+
$this->string("{$name}_type")
1591+
->nullable()
1592+
->after($after);
15771593

1578-
$this->uuid("{$name}_id")->nullable();
1594+
$this->uuid("{$name}_id")
1595+
->nullable()
1596+
->after(! is_null($after) ? "{$name}_type" : null);
15791597

15801598
$this->index(["{$name}_type", "{$name}_id"], $indexName);
15811599
}
@@ -1585,13 +1603,16 @@ public function nullableUuidMorphs($name, $indexName = null)
15851603
*
15861604
* @param string $name
15871605
* @param string|null $indexName
1606+
* @param string|null $after
15881607
* @return void
15891608
*/
1590-
public function ulidMorphs($name, $indexName = null)
1609+
public function ulidMorphs($name, $indexName = null, $after = null)
15911610
{
1592-
$this->string("{$name}_type");
1611+
$this->string("{$name}_type")
1612+
->after($after);
15931613

1594-
$this->ulid("{$name}_id");
1614+
$this->ulid("{$name}_id")
1615+
->after(! is_null($after) ? "{$name}_type" : null);
15951616

15961617
$this->index(["{$name}_type", "{$name}_id"], $indexName);
15971618
}
@@ -1601,13 +1622,18 @@ public function ulidMorphs($name, $indexName = null)
16011622
*
16021623
* @param string $name
16031624
* @param string|null $indexName
1625+
* @param string|null $after
16041626
* @return void
16051627
*/
1606-
public function nullableUlidMorphs($name, $indexName = null)
1628+
public function nullableUlidMorphs($name, $indexName = null, $after = null)
16071629
{
1608-
$this->string("{$name}_type")->nullable();
1630+
$this->string("{$name}_type")
1631+
->nullable()
1632+
->after($after);
16091633

1610-
$this->ulid("{$name}_id")->nullable();
1634+
$this->ulid("{$name}_id")
1635+
->nullable()
1636+
->after(! is_null($after) ? "{$name}_type" : null);
16111637

16121638
$this->index(["{$name}_type", "{$name}_id"], $indexName);
16131639
}

0 commit comments

Comments
 (0)