按照表中的顺序获取Laravel中的列名

时间:2018-06-07 05:01:48

标签: laravel eloquent

我使用以下方法获取Laravel(v5.6.24)项目的数据库表的列名。我正在使用mysql,它正如预期的那样正常工作。但从本周开始,列名称按名称显示。以前它显示的名称与实际表格一样。

如何以与表相同的顺序获取列名?

/*
 * Get Table Column Names
 */
public function getTableColumns()
{
    return $this->getConnection()->getSchemaBuilder()->getColumnListing($this->getTable());
}

1 个答案:

答案 0 :(得分:0)

您必须按ordinal_position

订购列
public function getTableColumns()
{
    return $this->getConnection()->select(
        (new \Illuminate\Database\Schema\Grammars\MySqlGrammar)->compileColumnListing()
            .' order by ordinal_position',
        [$this->getConnection()->getDatabaseName(), $this->getTable()]
    );
}