12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
- use think\migration\Migrator;
- use think\migration\db\Column;
- class ChangeBuildingDataToBuildingTable extends Migrator
- {
- /**
- * Change Method.
- *
- * Write your reversible migrations using this method.
- *
- * More information on writing migrations is available here:
- * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
- *
- * The following commands can be used in this method and Phinx will
- * automatically reverse them when rolling back:
- *
- * createTable
- * renameTable
- * addColumn
- * renameColumn
- * addIndex
- * addForeignKey
- *
- * Remember to call "create()" or "update()" and NOT "save()" when working
- * with the Table class.
- */
- public function change()
- {
- $list = (new \app\model\Building())->select();
- foreach ($list as $item) {
- $c_find = \app\model\Community::where([['name', '=', $item['name']], ['root_id', '=', $item['root_id']]])->findOrEmpty();
- if ($c_find->isEmpty()){
- $r_c = \app\model\Community::create(['name'=> $item['name'], 'pinyin'=> hanzi2pinyin($item['name']), 'root_id'=> $item['root_id']]);
- $item->community_id = $r_c->id;
- } else {
- $item->community_id = $c_find->id;
- }
- $item->save();
- }
- }
- }
|