【问题标题】:Trying to get all column names in a table试图获取表中的所有列名
【发布时间】:2015-09-13 05:04:49
【问题描述】:

我找到了this 答案,上面写着这样做:

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

但它没有说要使用什么,但我想应该是:

use Illuminate\Database\Schema\Builder as Schema;

但是当我尝试它时它不起作用:

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

我得到错误:

不应静态调用非静态方法 Illuminate\Database\Schema\Builder::getColumnListing(),假设 $this 来自不兼容的上下文

【问题讨论】:

  • 你用的是什么版本?此方法在 v4.1.29 之前一直受到保护
  • @d0ug7a5 Laravel 5.1

标签: php laravel


【解决方案1】:

你可以这样做:

$columns = DB::getSchemaBuilder()->getColumnListing('users');

use DB; 导入所需的依赖项。

【讨论】:

  • 谢谢!我永远也想不通!
【解决方案2】:

为了解决最初的问题,它对你不起作用的原因是你应该简单地使用这个:

use Schema;

而不是这个:

use Illuminate\Database\Schema\Builder as Schema;

【讨论】:

  • 我不知道我可以使用 Schema。我不必为类添加路径吗?雪玛在哪里?
  • 通过使用use Schema;,您正在调用一个门面。 Laravel 提供了很多这些。看看这里:laravel.com/docs/5.1/facades
猜你喜欢
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
  • 2019-05-23
  • 1970-01-01
相关资源
最近更新 更多