如何从laravel中的表中选择所有列名?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从laravel中的表中选择所有列名?相关的知识,希望对你有一定的参考价值。

我试图从表Teller中获取所有列名

功能:

public function getTableColumns($tables)
{
    return DB::select(DB::raw('SELECT 
                                    COLUMN_NAME, 
                                    DATA_TYPE, 
                                    COLUMN_DEFAULT
                                FROM 
                                    INFORMATION_SCHEMA.COLUMNS
                                WHERE 
                                    table_name = `Teller`'));
}
答案

您可以通过简单地完成所有列名称...

public function getTableColumns($table)
{
    return DB::getSchemaBuilder()->getColumnListing($table);

    // OR

    return Schema::getColumnListing($table);

}
另一答案

从模型中获取表名称

$product = new Product;
$table = $product->getTable();
print_r($table);
另一答案

如果您有多个数据库连接,请查看以下内容:

添加到php脚本的顶部

use IlluminateSupportFacadesSchema;

检索代码中的任何位置

使用数据库连接

$columns = Schema::Connection('business')->getColumnListing('users'); // 'business' is your database connection

        echo "<pre>";
        print_r($columns);
        exit();

没有数据库连接

$columns = Schema::getColumnListing('users');

    echo "<pre>";
    print_r($columns);
    exit();
另一答案

要从表中获取所有行:

 $users = DB::table('users')->get();

此方法将直接返回列的值:

$email = DB::table('users')->where('name', 'John')->value('email');

参考:

https://laravel.com/docs/5.1/queries

另一答案

你可以简单地写:

public function getTableColumns($tables)
{
    return DB::select(
        DB::raw('SELECT * FROM `Teller`')
    );
}

如果你有Teller模型,你也可以使用Teller::all();

更新

要获取所有列名称,您可以运行SHOW FIELDS Teller

另一答案

你可以用它

DB::table('table_name')->get();

以上是关于如何从laravel中的表中选择所有列名?的主要内容,如果未能解决你的问题,请参考以下文章

从一个表中选择 Laravel 5.1 中另一个表中不存在的所有记录

如何从Oracle数据库中的表中获取列名(字段名)列表?

如何从 laravel 7 API 中的两个表中选择特定列?

从Laravel和Eloquent的桌子中选择所有

如何从其他表中获取所需的列

如何从数据库中的表中打印该特定选项的所有数据?