如何在Laravel中获取数据库字段类型?对于拉拉维尔 5.2 - 9.x

2022-08-30 15:26:11

有没有办法获取数据库表字段的数据类型?这几乎就像迁移的反面一样。

例如,如果迁移用户表列如下所示

...
$table->integer('age')
...

如果我指定表和列,是否有将返回的函数?integeruserage

我对特定的数据库实现不感兴趣,()。就像Laravel的迁移一样,它需要与数据库无关。mysql_field_type()


答案 1

对于Laravel 4:

在拉拉维尔挖掘后,这就是我得到的。

DB::connection()->getDoctrineColumn('users', 'age')->getType()->getName()


答案 2

对于拉拉维尔 5.2 - 9.x

使用 Illuminate\Database\Schema\Builder::getColumnType()

DB::getSchemaBuilder()->getColumnType($tableName, $colName)

例如:

$ageType = DB::getSchemaBuilder()->getColumnType('user', 'age')

如果尚未运行此命令,则可能需要运行此命令:

composer require doctrine/dbal

推荐