Laravel使用已加载列的用户获取属于用户的表格

问题描述 投票:0回答:1

我有一个应用程序,用户创建用于存储数据的表。表名以前缀为前缀:

$user->id . "_table_name"

我可以检索属于这个用户的所有表,如下所示:

$tables = DB::select("SHOW TABLES LIKE '{$user->id} . _%'");

我可以像这样得到每个表的列:

$columns = Schema::getColumnListing($table);

但我想急切加载每个表的列,如:

$tables = DB::with('columns')->select("SHOW TABLES LIKE '{$user->id} . _%'");

如何才能做到这一点?谢谢。

eloquent laravel-5.8
1个回答
0
投票

也许不是最优雅的,但它有效:

$tables = DB::select("SHOW TABLES");

foreach($tables as $table) {
    $columns = Schema::getColumnListing($table->Tables_in_apiapi);
    $table->columns =  $columns;
}
© www.soinside.com 2019 - 2024. All rights reserved.