2つの値を許可する単純なテキストフィールドがあります。これをfield_text
と呼びましょう。私のソースデータベースには2つの列があります。たとえば、text1
とtext2
です。
text1
をfield_text
の最初の値として使用し、text2
をfield_text
の2番目の値として使用するように migrate フィールドマッピングを設定したいと思います。
つまり、次のようなものです。
$this->addFieldMapping('field_text[0]', 'text1');
$this->addFieldMapping('field_text[1]', 'text2');
移行クラスにprepareRow()メソッドを実装する必要があります。 prepareRow()内では、両方のソースフィールドを読み取り、それらを配列に追加できます。例を示します:
public function prepareRow($row) {
$row->text1 = array($row->text1, $row->text2);
}
これで、ソースフィールド「text1」に両方の値が含まれ、「field_text」にマップできます。 「text2」はDNMに設定する必要があります(マップしないでください)。