在Laravel中,有没有一种方法可以找到db表中的列总数?

时间:2019-01-24 07:31:16

标签: database laravel eloquent

我正在使用laravel 5.7,并且试图在mysql db表中查找列总数。是否有任何函数/方式来获取表或结果集中的列数?

3 个答案:

答案 0 :(得分:4)

如果您正在寻找Laravel的实现方式,则可以使用Schema门面。

例如:

Schema::getColumnListing('posts')

这将输出一个列数组。例如:

array:4 [▼
  0 => "id"
  1 => "content"
  2 => "created_at"
  3 => "updated_at"
]

然后,只需要获取count()就可以了。

或者,一行:

return count(Schema::getColumnListing('posts'));

答案 1 :(得分:0)

首先,您应该从MySQL的information_schama数据库中获得读取权限。
在Laravel模型中执行此请求之后

SELECT count(*) AS nbr_colomn FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '<db_name>' AND TABLE_NAME = '<table_name>'

答案 2 :(得分:0)

@vasim,您可以尝试一下吗,只需执行以下操作即可获取所有列的名称...

Schema::getColumnListing($table);