我正在使用laravel 5.7,并且试图在mysql db表中查找列总数。是否有任何函数/方式来获取表或结果集中的列数?
答案 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);