2016-08-21 55 views
1

私は、だから私はすべての列の名前を取得するにはforeachループを作った特定のテーブルの列Laravel 5.2で列の種類を取得する方法は?

$columns = \Schema::getColumnListing('posts') 

を得るために、私の見解では、このコードを得ました。しかし今はCRUDジェネレータを作っているので、どのタイプのフィールドを作成するかを知るためにはカラム型が必要になります。上のコードは、私に列の名前を与えました。どのようにして列のタイプを取得することができますか?

更新: getColumnListingメソッドを含むファイルを検索したところ、getColumnType($table, $column)というメソッドが見つかりました。文字列を返します。

私はそれを使用しようとしましたが、私はこのエラーを得た:

FatalErrorException in MySqlConnection.php line 64: Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found

答えて

0

あなたのforeachの中getColumnType()メソッドを使用することができます。

このパッケージが必要です。

composer require doctrine/dbal 
+0

エラー:文字列 '$のcolumns'上メンバ関数のgetType()の呼び出しは、列の名前だけの配列を取得し、私は再び –

+0

私は方法getColumnListingは()内に存在するクラスを見て、I。 getColumnType($ table、$ column)というメソッドが見つかりました。 私はそれを試しましたが、私は得ました: MySqlConnection.php行のFatalErrorException 64: 'Doctrine \ DBAL \ Driver \ PDOMySql \ Driver'クラスが見つかりません 私を助けてくれますか? –

+0

をチェックしてみましょう –

0

  $tables = ['tablename']; 
      foreach($tables as $table){ 
       $table_info_columns = DB::select(DB::raw('SHOW COLUMNS FROM '.$table)); 

       foreach($table_info_columns as $column){ 
       $col_name = $column->Field; 
       $col_type = $column->Type; 
       var_dump($col_name,$col_type); 
       } 
      } 
+0

は前にそれを試みたが、私はMySqlConnection.phpラインに FatalErrorExceptionを得た64:クラスの教義\ DBAL \ドライバ\ PDOMySql \ドライバー "あなたが見つかった場合 –

+0

使用コンポーザーが – Parithiban

1

このコードを試してみてください私は、プロジェクト内のgetColumnListing方法で検索し、私はそれがファイルにBuilder.phpと呼ばれ、正確なgetColumnListing方法の上記で私がgetColumnType($table, $column)

と呼ばれる方法を見出しました

このコード行を使用してgetColumnTypeメソッドを使用しようとしました:

$type = \Schema::getColumnType('{{collection}}s', $col);

しかし、私はこのエラーを得た:逃したパッケージは

laravel 5.2にはもう含まれていませんdoctrine/dbalと呼ばれるのでFatalErrorException in MySqlConnection.php line 64: Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not foundそして、これはだから私は、このコマンドcomposer require doctrine/dbalを実行して、私はもう何のエラーを得ませんでした。

ドクトリン/ dbalをインストールするように言った@pariに感謝します。

+0

歓迎アハメド@コマンドラインから教義/ DBALを必要と見つかりませんそれは正しいマーク答えが有用である – Parithiban

関連する問題