Laravel에서 모든 데이터베이스 테이블 및 구조 가져오기
use Illuminate\Support\Facades\Schema;
use DB;
public function getDatabaseColumns() {
$tables = DB::select('show tables');
$tables = array_column($tables, 'Tables_in_new_bcc_web');
$columns = ['email', 'user_name', 'nick_name', 'first_name', 'last_name'];
// dd(Schema::getConnection());
foreach ($tables as $key => $value) {
foreach ($columns as $k => $v) {
if (Schema::hasColumn($value, $v)) {
$table[] = $value;
};
}
// $columns[] = Schema::getColumnListing('users');
}
$table = array_unique($table);
dd($table);
}
Schema::getColumnListing('user');
Schema::hasColumn($table, $column_name)
현재 연결된 데이터베이스에 있는 모든 테이블을 한 번에 얻을 수 있는 더 좋은 방법이 있는지 알아보는 것보다 한 획 적어 두세요. 저는 원래 sql문장showtables로 모든 테이블을 찾아서 Tables_in_new_bcc_웹이라는 열을 얻은 후에야 모든 시계 이름을 얻고 다시 순환합니다.더 좋은 방법을 찾아라.
public function getDatabaseColumns() {
$tables = array_map('reset', \DB::select('SHOW TABLES'));
$columns = ['email', 'user_name', 'nick_name', 'first_name', 'last_name'];
foreach ($tables as $key => $value) {
foreach ($columns as $k => $v) {
if (Schema::hasColumn($value, $v)) {
$table[] = $value;
};
}
}
$table = array_unique($table);
dd($table);
}
===== 업데이트 2020-01-22 ======
모든 테이블 가져오기
//
$tables = DB::connection()->getDoctrineSchemaManager()->listTables();
//
$table_names = DB::connection()->getDoctrineSchemaManager()->listTableNames();
foreach ($table_names as $key => $value) {
//
$columns[] = DB::connection()->getDoctrineSchemaManager()->listTableColumns($value);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.