yii2 запрос между датами в отчетах - PullRequest
0 голосов
/ 02 ноября 2018

я новичок в yii2, и я не знаю много об этом, в любом случае, я пытаюсь получить отчет за месяц, пользователь должен выбрать месяц, а затем отчет должен показать информацию об этом месяце. Я использую kartik mpdf в моем контроллере, и у меня есть это, в данный момент вы можете видеть, что я комментирую строку, где написано «где», потому что не работает, моя идея состоит в том, чтобы иметь дополнительный год и месяц, поэтому, когда пользователь выбирает год и месяц я могу заменить эти значения из запроса, как это SELECT * from afiche WHERE fecha BETWEEN 'auxano-auxmes-1' AND 'auxano-auxmes-31 но я не знаю, как это сделать в yii2, если кто-то может мне помочь, я был бы очень признателен, спасибо!

public function actionMipdf() { $session = Yii::$app->session; $repquery=$session['repquery'];

        //auxmes
        //auxano
        //SELECT * from afiche WHERE fecha BETWEEN 'auxano-auxmes-1' AND 'auxano-auxmes-31'
        $fechas = Afiche::find()->where(['between', 'fecha', "2018-05-1", "2018-05-31" ])->all();
        $query = new Query;
        $query  ->select(['maquina.patente as maquinas,afiche.descripcion as des,afiche.fecha as fec,COUNT(*) as cant'])  
        ->from('afiche')
        ->join('LEFT OUTER JOIN', 'mecanico','mecanico.id_mecanico =afiche.mec_id')
        ->join('LEFT OUTER JOIN', 'maquina','maquina.patente =afiche.pat_maq')
        //->WHERE('fecha BETWEEN 2018-05-01 AND 2018-07-31')
        ->groupBy('afiche.id_afiche')
        ->all();    
        $command = $query->createCommand();
        $presus = $command->queryAll();    
        $data = new \yii\data\ArrayDataProvider(['allModels' => $presus, 'pagination' =>false]);
        $presu=$data->getModels();

$content = $this->renderPartial('reporteAfiche', array('afiche' => $presu),true);

      $content2 = "
        <b style='color:red'>bold</b>  
        <a href='http://latcoding.com'>Latcoding.com</a>
        ";
    $pdf = new Pdf([
        'mode' => Pdf::MODE_CORE,
        'format' => Pdf::FORMAT_A4,
        'orientation' => Pdf::ORIENT_PORTRAIT,
        'destination' => Pdf::DEST_BROWSER,
        'content' => $content, 
        'cssFile' => '<style>
            body {font-family: sans-serif;
            font-size: 10pt;
            }
            p { margin: 0pt;
            }
            td { vertical-align: top; }
            .items td {
            border-left: 0.1mm solid #000000;
            border-right: 0.1mm solid #000000;
            }
            table thead td { background-color: #EEEEEE;
            text-align: center;
            border: 0.1mm solid #000000;
            }
            .items td.blanktotal {
            background-color: #FFFFFF;
            border: 0mm none #000000;
            border-top: 0.1mm solid #000000;
            }
            .items td.totals {
            text-align: right;
            border: 0.1mm solid #000000;
            }
            </style>',
         // call mPDF methods on the fly
        'methods' => [
            'SetHeader'=>['REPORTE MANTENCIÓN'],
            'SetFooter'=>['{PAGENO}'],
        ]
    ]);

    // http response
    $response = Yii::$app->response;
    $response->format = \yii\web\Response::FORMAT_RAW;
    $headers = Yii::$app->response->headers;
    $headers->add('Content-Type', 'application/pdf');

    // return the pdf output as per the destination setting
    return $pdf->render();
}

1 Ответ

0 голосов
/ 02 ноября 2018

Переменные $ date_1 и $ date_2 являются параметрами вашей функции, а потом как то так:

->andWhere(['between', 'fecha', $date_1, $date_2])

...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...