Commit ad36e832 authored by Ильнур Табулдин's avatar Ильнур Табулдин :skull_crossbones:
Browse files

s

No related merge requests found
Showing with 17 additions and 2 deletions
+17 -2
......@@ -8,6 +8,12 @@ use yii\helpers\ArrayHelper;
abstract class Form extends Model
{
/**
* Для контейнера форм, необходимо ли оставить порядок для форм, которые пришли
* @var bool $keepOrder
*/
protected $keepOrder = false;
public function load($data, $formName = null): bool
{
$formData = $data;
......@@ -51,8 +57,12 @@ abstract class Form extends Model
}
if (count(array_filter(array_keys($data[$name]), 'is_string')) === 0) {
$this->$name = [];
foreach ($data[$name] as $ignored) {
$this->$name[] = new $form->className();
foreach ($data[$name] as $key => $ignored) {
if ($this->keepOrder) {
$this->$name[$key] = new $form->className();
} else {
$this->$name[] = new $form->className();
}
}
$success = Model::loadMultiple($this->$name, $data[$name], '') || $success;
} else {
......
......@@ -7,6 +7,11 @@ abstract class FormContainer extends Form
protected $internalForms;
public $forms = [];
public function __construct(bool $keepOrder = false, array $config = [])
{
$this->keepOrder = $keepOrder;
}
public function load($data, $formName = null): bool
{
$data = ['forms' => $data];
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment