yii2在转换过程中确认和/或选择

时间:2016-02-04 20:45:55

标签: transactions yii2 confirm

我在上传文件的帮助下批量创建了许多不同的相关模型。有没有办法,让整个过程像与用户的对话,但保持在try-catch事务环境中?我的意思是,例如在过程的中间有一个点,当有两种可能性可供选择时,用户可以选择一个,或者“你确定你想要那个吗?”等等,那么这个过程会更进一步吗?

2 个答案:

答案 0 :(得分:0)

我能想到的最简单的方法如下。

导入表作为中间存储

  1. 导入时将文件读入“导入”表。 csv-或text-file的每一行都有一条记录。在阅读时保存整行。
  2. 在保存之前,断言之前没有保存相同的行(唯一索引?)
  3. 然后在另一个控制器动作中,在上传后调用该动作,迭代该表中的所有条目。处理数据并立即保存或在必要时询问用户。
  4. 从导入表中删除该行或将其标记为已导入。后者的优势在于您可以跟踪已导入的行,但需要在一定时间间隔后进行一些清理以防止数据膨胀。
  5. 完成!
  6. 表格结构

    就像一个例子......这里是你可以用于MySQL的创建语句:

    CREATE TABLE `import` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `is_imported` tinyint(1) NOT NULL DEFAULT '0',
        `data` text COLLATE utf8_unicode_ci NOT NULL,
        PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    

答案 1 :(得分:0)

我认为这更容易,我打算这样做,我将把所有数据发送到一个新表单(有可供选择的其他可能属性),用户可以选择一个或多个运行交易问题所需的信息。