Перенос текстового поля с несколькими значениями
У меня есть простое текстовое поле, которое допускает 2 значения, назовем его field_text
. В моей исходной базе данных есть два столбца, скажемtext1
и text2
.
Я хочу настроить сопоставление полей для переноса так, чтобы text1
использовалось в качестве первого значения для field_text
и text2
в качестве второго значения для field_text
.
Другими словами, что-то вроде этого:
$this->addFieldMapping('field_text[0]', 'text1');
$this->addFieldMapping('field_text[1]', 'text2');
4
Author: Kenny Wyland, 2012-12-04
1 answers
Вы должны реализовать метод prepareRow() в своем классе миграции. Внутри prepareRow() вы можете прочитать оба поля источника и добавить их в массив. Я приведу пример:
public function prepareRow($row) {
$row->text1 = array($row->text1, $row->text2);
}
Теперь ваше исходное поле "text1" будет содержать оба значения, и его можно сопоставить с "field_text". "text2" должен быть установлен в DNM (не сопоставлять).
10
Author: ermannob, 2012-12-05 14:03:57