Laravel - PHP Artisan Tinker: 如何查看sqlite数据库中的所有表

Laravel - PHP Artisan Tinker: How to view all tables in sqlite database

我有一个 Laravel 项目,我有一个 sqlite 数据库。我想查看 php artisan tinker.

中数据库中的所有表

我试过这个$tables = DB::select('SHOW TABLES');但是它抛出了这个错误Illuminate\Database\QueryException with message 'SQLSTATE[HY000]: General error: 1 near "SHOW": syntax error (SQL: SHOW TABLES)'

答案在这里,可以在这里找到,https://www.sqlite.org/faq.html#q7

DB::select("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;")

感谢 Laracasts 上的@GwynBleidd 找到答案。

我知道这是一个老问题,但我一直在寻找这个问题,如果其他人需要,根据 Laravel 语法找到了不同的解决方案,这里是::

DB::table('sqlite_master')->select('name')->where('type', 'table')->orderBy('name')->get()

您可以通过这种方式执行查询搜索,或者如果需要,您可以 return 一个包含表名列表的集合数组。

   $this->DB
        ->table('sqlite_master')
        ->select('name')
        ->where('type', 'table')
        ->orderBy('name')  
        ->get()
        ->pluck('name');