epulgaron
(Jokercrazy05544)
February 22, 2016, 7:24pm
1
hi forum, I finally managed to insert using Dynamic-form now the update function works but when I try to insert a new item from the Update, I get this error:PHP Warning – yii\base\ErrorException
array_combine(): Both parameters should have an equal number of elements
what it could be? thanks and sorry for my english
ajberri
(Alex)
February 22, 2016, 10:15pm
2
Please post complete stack trace.
epulgaron
(Jokercrazy05544)
February 23, 2016, 2:42pm
3
1. in C:\wamp\www\basic\models\Model.php at line 26
17181920212223242526272829303132333435 public static function createMultiple($modelClass, $multipleModels = []/*,$data = null*/)
{
$model = new $modelClass;
$formName = $model->formName();
$post = Yii::$app->request->post($formName);
$models = [];
if (! empty($multipleModels)) {
$keys = array_keys(ArrayHelper::map($multipleModels, 'id', 'id'));
[color="#F5DEB3"]$multipleModels = array_combine($keys, $multipleModels);[/color]
}
if ($post && is_array($post)) {
foreach ($post as $i => $item) {
if (isset($item['id']) && !empty($item['id']) && isset($multipleModels[$item['id']])) {
$models[] = $multipleModels[$item['id']];
} else {
$models[] = new $modelClass;
}
2. in C:\wamp\www\basic\controllers\CumplimientoController.php at line 208 – app\models\Model::createMultiple()
202203204205206207208209210211212213214 $modelsResolucion = Model::createMultiple(Resolucion::classname(), $modelsResolucion);
Model::loadMultiple($modelsResolucion, Yii::$app->request->post());
$deletedIDsResolucion = array_diff($oldIDsResolucion, array_filter(ArrayHelper::map($modelsResolucion, 'id', 'id')));
//--------medidas aplicadas--------------
$oldIDsMedidas = ArrayHelper::map($modelsMedidas, 'id', 'id');
[color="#F5DEB3"] $modelsMedidas = Model::createMultiple(Medidas::classname(), $modelsMedidas); [/color]
//print_r($modelsMedidas);
Model::loadMultiple($modelsMedidas, Yii::$app->request->post());
$deletedIDsMedidas = array_diff($oldIDsMedidas, array_filter(ArrayHelper::map($modelsMedidas, 'id', 'id')));
//--------------------principales deficiencias------------------
$oldIDsDeficiencias = ArrayHelper::map($modelsDeficiencias, 'id', 'id');
3. in C:\wamp\www\basic\vendor\yiisoft\yii2\base\InlineAction.php at line 55 – app\controllers\CumplimientoController::actionUpdate()
4. in C:\wamp\www\basic\vendor\yiisoft\yii2\base\InlineAction.php at line 55 – call_user_func_array:{C:\wamp\www\basic\vendor\yiisoft\yii2\base\InlineAction.php:55}()
5. in C:\wamp\www\basic\vendor\yiisoft\yii2\base\Controller.php at line 151 – yii\base\InlineAction::runWithParams()
6. in C:\wamp\www\basic\vendor\yiisoft\yii2\base\Module.php at line 455 – yii\base\Controller::runAction()
7. in C:\wamp\www\basic\vendor\yiisoft\yii2\web\Application.php at line 84 – yii\base\Module::runAction()
8. in C:\wamp\www\basic\vendor\yiisoft\yii2\base\Application.php at line 375 – yii\web\Application::handleRequest()
9. in C:\wamp\www\basic\index.php at line 12 – yii\base\Application::run()
6789101112
require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/config/web.php');
[color="#F5DEB3"](new yii\web\Application($config))->run();[/color]