从数据库表获取字段名称

时间:2020-05-01 11:38:12

标签: php laravel eloquent laravel-7

在这种情况下,我需要从表中获取字段名称:

这是我的静态模型

  <?php

namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
class Act_admin extends Model
{
    static function showCust(){
        $query = DB::table("dummy_db.customer")->select("*")->paginate(10);
        $FieldNames = Schema::getColumnListing($query);
        dd($FieldNames);

      // return $data;
    }
}

其结果仅为:

[]

谢谢。

2 个答案:

答案 0 :(得分:0)

getColumnListing()函数中传递table_name而不是$ query,它将起作用:-

<?php

namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Schema;
class Act_admin extends Model
{
    static function showCust(){
        $table_name = dummy_db.customer;
        $field_names = Schema::getColumnListing($table_name);
        dd($field_names);
    }
}

答案 1 :(得分:0)

您可以通过此代码获取列

Public function getsomecolumns ($table)
{
Return DB::getSchemaBuilder()->getColumnListing($able);
}

或者您可以替换返回此方法

Return Schema::getColumnlisting($table);
相关问题