はい、唯一の問題は、私がそれを正しく行っているかどうかです。そして多分それの修正。
私は Yii にアプリケーションを持っています。ここには、いくつかの事前定義された設定を入れることができる単純な管理者バックエンドがあります。
MySQL データベース テーブル:
管理者コントローラーを持っています: 意図したアクションのみを表示しています
class AdminController extends Controller
{
public function actionIndex()
{
// Update a setting
if (isset($_POST['submit']))
{
AdminSetting::updateSetting('topCategory', $_POST['topCategory']);
AdminSetting::updateSetting('marketRegion', $_POST['marketRegion']);
}
// Get all settings
$topCategory = AdminSetting::model()->find('name = :name', array(':name' => 'topCategory'));
$marketRegion = AdminSetting::model()->find('name = :name', array(':name' => 'marketRegion'));
if (isset($marketRegion->value))
$marketRegion = $marketRegion->value;
if (isset($topCategory->value))
$topCategory = $topCategory->value;
$this->render('index', array('topCategory' => $topCategory, 'marketRegion' => $marketRegion));
}
}
モデル AdminSetting.php: 追加された機能のみを表示しています: updateSetting
class AdminSetting extends CActiveRecord
{
public static function updateSetting($name, $value)
{
Yii::app()->db->createCommand("UPDATE admin_setting SET value = '$value' WHERE name = '$name'")->execute();
}
}
ユーザー インターフェイス:
複数のレコードがデータを表示する 1 つのページがあるため、このようにしました。これは Yii のデフォルトの動作ではありません。どこを検索しても、他のプログラマーが一度に 1 つのレコードを編集していることしかわかりません。
2 つ目の疑問が生じます。ActiveRecordModel のデフォルト機能を使用して、一度に複数のレコードをデータベースに保存する方法です。
この方法を続けると、すべてのフィールドを手動で保存する actionIndex のリストが増えていることがわかります。
よろしくお願いします。