【问题标题】:In Laravel, Is there a way to find total number of columns in db table?在 Laravel 中,有没有办法找到 db 表中的总列数?
【发布时间】:2019-06-17 21:07:45
【问题描述】:

我正在使用 laravel 5.7,我正在尝试查找 mysql db 表中的总列数。是否有任何函数/方法可以获取表或结果集中的列数?

【问题讨论】:

  • 你可以参考这个【博客】:stackoverflow.com/questions/658395/…"question"
  • 同样的问题已经被问及回答stackoverflow.com/questions/658395/…
  • 试试这个$count = Model::count();
  • @KiranKanzar,需要尝试一下,反正我一直在寻找一个类似于 mysqli_num_fields() 的简单函数..
  • @KiranKanzar, "$count = Model::count();"正在工作,那么结果集中的列数呢?

标签: database laravel eloquent


【解决方案1】:

@vasim,你可以试试这个,你可以通过简单的操作来获取所有列的名称...

Schema::getColumnListing($table);

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      如果你正在寻找 Laravel 的方式,你可以使用 Schema 门面。

      例如:

      Schema::getColumnListing('posts')
      

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

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

      那么只需获取count() 即可。

      或者,在一行中:

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

      【讨论】:

        猜你喜欢
        • 2023-01-10
        • 2022-01-21
        • 2022-07-11
        • 2020-04-16
        • 2020-05-07
        • 2013-02-17
        • 1970-01-01
        • 2022-06-12
        • 1970-01-01
        相关资源
        最近更新 更多