小编Sao*_* Ho的帖子

Yii2创建大量数据

我必须从现有的表数据中创建大量数据。每天大约有5000到10000条数据。

我的控制器:

$skus = Sku3d::find()->all();

foreach ($skus as $sku) {
    $model = new Loghour3d();
    $model->sku = $sku->sku;
    $model->modeler = $sku->modeler;
    $model->team = $sku->team;
    $time = new \DateTime('now');
    $today = $time->format('Y-m-d');
    $model->day = $today;
    $model->handover = $sku->handover;
    $model->hour = $sku->totalhours;
    $model->save();
}
Run Code Online (Sandbox Code Playgroud)

但是创建的时间不正确。示例:$sku->totalhours = 12但是$model->hour = 600我的代码是$model->hour = $sku->totalhours;. 所以我不知道从哪里来600

还有没有更好的方法来完成这项任务,因为现在大约需要 15-20 分钟。

yii2 yii2-basic-app

0
推荐指数
1
解决办法
514
查看次数

Yii2结合多个count和group by查询

我有一个项目,他们有 3 个状态。现在我需要统计每天每种状态的数量和总数。

我可以单独列出它们。但不知道如何将它们结合起来。

这是我的代码:

    $passed_counts = (new \yii\db\Query())
    ->select(['date', 'week', 'count(sku) as sku'])
    ->from('qa3d')
    ->where(['status' => 'Passed'])
    ->groupBy('date')->all();

    $failed_counts = (new \yii\db\Query())
    ->select(['date', 'week', 'count(sku) as sku'])
    ->from('qa3d')
    ->where(['status' => 'Failed'])
    ->groupBy('date')->all();

    $onhold_counts = (new \yii\db\Query())
    ->select(['date', 'week', 'count(sku) as sku'])
    ->from('qa3d')
    ->where(['status' => 'On Hold'])
    ->groupBy('date')->all();

    $total_counts = (new \yii\db\Query())
    ->select(['date', 'week', 'count(sku) as sku'])
    ->from('qa3d')
    ->groupBy('date')->all();
Run Code Online (Sandbox Code Playgroud)

现在我可以将它们分别列在 4 个表中。我想像这样将它们组合在一张表中,但不知道如何。

date Passed Failed On Hold Total

2019-01-16 1 4 2 7

2019-01-17 1 0 2 3

请在这件事上给予我帮助。

谢谢。

yii2 yii2-basic-app

0
推荐指数
1
解决办法
1627
查看次数

标签 统计

yii2 ×2

yii2-basic-app ×2