Skip to content
6 changes: 3 additions & 3 deletions src/Illuminate/Database/Schema/Blueprint.php
Original file line number Diff line number Diff line change
Expand Up @@ -1039,16 +1039,16 @@ public function foreignIdFor($model, $column = null)
$column = $column ?: $model->getForeignKey();

if ($model->getKeyType() === 'int' && $model->getIncrementing()) {
return $this->foreignId($column);
return $this->foreignId($column)->table($model->getTable());
}

$modelTraits = class_uses_recursive($model);

if (in_array(HasUlids::class, $modelTraits, true)) {
return $this->foreignUlid($column);
return $this->foreignUlid($column, 26)->table($model->getTable());
}

return $this->foreignUuid($column);
return $this->foreignUuid($column)->table($model->getTable());
}

/**
Expand Down
2 changes: 2 additions & 0 deletions src/Illuminate/Database/Schema/ForeignIdColumnDefinition.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ public function __construct(Blueprint $blueprint, $attributes = [])
*/
public function constrained($table = null, $column = 'id', $indexName = null)
{
$table ??= $this->table;

return $this->references($column, $indexName)->on($table ?? Str::of($this->name)->beforeLast('_'.$column)->plural());
}

Expand Down