yii2 更新表格数据集不起作用
yii2 updating tabular set of data is not working
http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html#collecting-tabular-input
我根据上述link工作,但我的数据没有更新到数据库
我的table结构是
设置
id, name, value
我的控制器SettingsController.php
<?php
namespace backend\controllers;
use Yii;
use yii\base\Model;
use yii\web\Controller;
use backend\models\Setting;
class SettingsController extends Controller
{
public function actionIndex()
{
$settings = Setting::find()->indexBy('id')->all();
if (Model::loadMultiple($settings, Yii::$app->request->post()) && Model::validateMultiple($settings)) {
foreach ($settings as $setting) {
$setting->save(false);
}
return $this->redirect('update');
}
return $this->render('update', ['settings' => $settings]);
}
}
我的模特是Setting.php
<?php
namespace backend\models;
use Yii;
class Setting extends \yii\db\ActiveRecord
{
public static function tableName()
{
return 'setting';
}
}
视图正在设置中 -- update.php
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
$form = ActiveForm::begin();
foreach ($settings as $index => $setting) {
echo $form->field($setting, "[$index]value")->label($setting->name);
}
?>
<div class="form-group">
<?= Html::submitButton('Update', ['class' => 'btn btn-primary']) ?>
</div>
<?php
ActiveForm::end();
我的问题是更新的数据不是 saving.but 我没有收到任何错误。
您的 Setting
模型中没有任何规则或安全属性,因此该模型的值不可用..
尝试在您的模型规则中添加保存属性列表。
public function rules()
{
return [
[['field1', 'field2',,,,'fieldn'], 'safe'],
];
}
http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html#collecting-tabular-input
我根据上述link工作,但我的数据没有更新到数据库
我的table结构是
设置
id, name, value
我的控制器SettingsController.php
<?php
namespace backend\controllers;
use Yii;
use yii\base\Model;
use yii\web\Controller;
use backend\models\Setting;
class SettingsController extends Controller
{
public function actionIndex()
{
$settings = Setting::find()->indexBy('id')->all();
if (Model::loadMultiple($settings, Yii::$app->request->post()) && Model::validateMultiple($settings)) {
foreach ($settings as $setting) {
$setting->save(false);
}
return $this->redirect('update');
}
return $this->render('update', ['settings' => $settings]);
}
}
我的模特是Setting.php
<?php
namespace backend\models;
use Yii;
class Setting extends \yii\db\ActiveRecord
{
public static function tableName()
{
return 'setting';
}
}
视图正在设置中 -- update.php
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
$form = ActiveForm::begin();
foreach ($settings as $index => $setting) {
echo $form->field($setting, "[$index]value")->label($setting->name);
}
?>
<div class="form-group">
<?= Html::submitButton('Update', ['class' => 'btn btn-primary']) ?>
</div>
<?php
ActiveForm::end();
我的问题是更新的数据不是 saving.but 我没有收到任何错误。
您的 Setting
模型中没有任何规则或安全属性,因此该模型的值不可用..
尝试在您的模型规则中添加保存属性列表。
public function rules()
{
return [
[['field1', 'field2',,,,'fieldn'], 'safe'],
];
}