是的,唯一的问题是我这样做是否正确。也许可以解决它。
我在 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();
}
}
用户界面:
我是这样做的,因为我有一页,有多条记录显示数据。这不是 Yii 默认的工作方式。无论我在哪里搜索,我只看到其他程序员一次编辑一条记录。
第二个问题出现了:如何使用 ActiveRecordModel 的默认功能一次将多条记录保存到数据库中。
我看到如果我继续这样下去,我的 actionIndex 中有一个不断增长的列表,可以手动保存每个字段。
在此先感谢您的帮助。