2017-10-30 11 views
0

Laravelを使用してすべてのデータベース属性を取得するにはどうすればよいですか? 私は使ったことがありますDB::connection('new_mysql_connection')->getPdo() この接続のために利用できる関係を得る必要があります。 私はlaravelからの接続関係を取得する

$tables = DB::connection('new_mysql_connection') 
       ->select('SHOW TABLES'); 

でテーブルを取得することができますしかし、どのように私は、このデータベースから関係やビューなどの他の属性を得ることができますか? ありがとうございます。

私は、すべてのデータベース、テーブルと列の属性を取得するには、MySQLのクエリを使用

答えて

0

: すべてのテーブル名のリストを取得するために:

$tables = $connection->select('SHOW FULL TABLES'); 
$t = 'Tables_in_' . $connection->getDatabaseName(); 

列の詳細を取得するためのすべての列の関係に

$relations = DB::select(' 
       SELECT CONSTRAINT_NAME, TABLE_NAME, COLUMN_NAME, 
       REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME 
       FROM information_schema.KEY_COLUMN_USAGE 
       WHERE TABLE_SCHEMA = ? 
       AND TABLE_NAME = ? 
       AND COLUMN_NAME = ? 
       AND REFERENCED_TABLE_NAME IS NOT NULL', [$database, $table_name, $column_name]); 

を取得するためデフォルト値、データタイプなど:

$column_details = DB::select('SHOW COLUMNS FROM `'. $table .'` FROM `'. $database .'` WHERE Field = "'. $column .'"'); 

列がインデックスかどうかを確認する:

$index = DB::select(' 
      SELECT * 
      FROM INFORMATION_SCHEMA.STATISTICS 
      WHERE TABLE_SCHEMA = ? 
      AND TABLE_NAME = ? 
      AND COLUMN_NAME = ?;', [$database, $table, $column]); 
関連する問題