Get all table names inside a database and echo them using @foreach @endforeach
.
My database name is demoproject and it has some tables inside it like users, list1, list2, list3 and I need to echo all the tables.
When using var dump I get bool(true) or when echoing I get 1 with this code DB::statement('show tables from demoproject');
I'm making an admin panel, where I can edit tables and their rows. That's why I need to use @foreach
to link them to another page.
I only need to know how I can echo all tables inside that database to continue with this project.
I'm using Laravel 4.
select * from information_schema.tables where table_schema='database_name'
you can also do this to test or whatnot:
$pdo = DB::connection()->getPdo();
//run queries the normal pdo way
For PGSQL;
if (config('database.default') == 'pgsql') {
$database_name = 'laravel';
$tables = DB::select("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'");
foreach ($tables as $table) {
$tablename = $table->table_name;
if ($tablename == 'model_has_permissions' || $tablename == 'password_resets'|| $tablename == 'model_has_roles'
|| $tablename == 'model_has_permissions'|| $tablename == 'role_has_permissions') {
continue;
}
DB::select("
SELECT setval(pg_get_serial_sequence('$table->table_name' , 'id'), coalesce(max(id)+1, 1), false)
FROM ".$tablename.";
");
}
}