CDbTableSchema
クラスのインスタンスを使用すると、非常に簡単です。
echo 'Name: ', $tbl->name, ' (raw: ', $tbl->rawName, ')';
echo 'Fields: ', implode(', ', $tbl->columnNames);
等々。これには多くのメソッドとプロパティがあります。すべてのテーブル
を取得するには、ここのクラスドキュメントを使用してください。CDbSchema
このCDbSchema
クラスには、パブリックtableNames
プロパティ (すべての名前の配列) と、tables
すべてのメタデータを含むプロパティの両方があります。本当にそれだけです。
これらすべてのインスタンスにアクセスするには、次のコードで十分です。
$connection = Yii::app()->db;//get connection
$dbSchema = $connection->schema;
//or $connection->getSchema();
$tables = $dbSchema->getTables();//returns array of tbl schema's
foreach($tables as $tbl)
{
echo $tbl->rawName, ':<br/>', implode(', ', $tbl->columnNames), '<br/>';
}
ドロップダウン リストを作成するには、標準CHtml
オブジェクトを使用するだけです。
$options = array();
foreach($tables as $tbl)
{//for example
$options[$tbl->rawName] = $tbl->name;
}
$dropDown = CHtml::dropDownList('tables',$tables[0]->rawName, $options);
時間をかけてマニュアルを読んでください。すべて揃っています。正直なところ、私はそれを広範囲に使用Yii
したことはありませんが、正直なところ、まったく使用していませんが、これを解決するのに5分しかかかりませんでした. ソースを見てください!すべてのメソッド/クラス/プロパティには、対応するファイルの正確な行へのリンクがあります!
他の人に何かを考えてもらう前に、ある程度の努力をしてください。