Как сохранить массив данных в базу данных - PullRequest
0 голосов
/ 08 мая 2019

Как сохранить приведенный ниже массив данных в базе данных, используя активную запись yii2.

Array ( [0] => Array ( [0] => Array ( [UID] => RPS2019U002 [Name ] => Nishanth [Father] => mallesh [Mother] => Lakshmi [Occupation] => Govt Employee [Mobile] => 9856985689 [Email] => mallesh@gmail.com [Class] => UKG [dob] => 5/12/2016 [Route] => 1 [Addres] => Mysore [Remarks] => No ) [1] => Array ( [UID] => RPS2019U003 [Name ] => Nishanth [Father] => mallesh [Mother] => Lakshmi [Occupation] => Govt Employee [Mobile] => 9856985690 [Email] => mallesh@gmail.com [Class] => UKG [dob] => 5/13/2016 [Route] => 2 [Addres] => Mysore [Remarks] => No ) [2] => Array ( [UID] => RPS2019U004 [Name ] => Nishanth [Father] => mallesh [Mother] => Lakshmi [Occupation] => Govt Employee [Mobile] => 9856985691 [Email] => mallesh@gmail.com [Class] => UKG [dob] => 5/14/2016 [Route] => 3 [Addres] => Mysore [Remarks] => No ) ) [1] => Array ( ) [2] => Array ( ) )

1 Ответ

0 голосов
/ 08 мая 2019

Лучший вариант - использовать json_encode / json_decode.
Вы также можете использовать serialize / unserialize.
JSON гораздо более портативен.Может использоваться на любых языках программирования.(Расширенная поддержка формата)
Вы можете создать два метода с помощью getter и setter: (Выберите один из вышеперечисленных способов)
См. Эту ссылку .
Для сериализации:

serialize ([Array]); 
unserialize([Serialized value]);


Rull Models Если вы хотите проверить массив в Правилах проверки:

['yourField',function ($attribute, $params) {
    if(!is_array($this->valueYourField)){
         $this->addError('yourField','yourField not array!');
     }
}]

Дляпример , если ваш массив должен быть только целым числом.Используйте allowArray

['yourField', 'in', 'range' => [1, 2, 3], 'allowArray' => true, 'message' => '{attribute} is invalid.']

Вы также можете проверить содержимое вашего массива в вашем контроллере и После использования вышеуказанных методов, используйте Safe В файле модели. (Правила)

 ['yourField', 'safe'],

Примечание: Не использовать implode().Вызывает проблему
Также проверьте это Расширение или Это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...