File manager - Edit - /home/autoph/repositories/AutoHub-Rating/app/Models/Answer.php
Back
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\DB; class Answer extends Model { use HasFactory; public function getTitles($data){ // dd($data); $q = "SELECT %s FROM questionnaires `qstnn` INNER JOIN `systems` `s` on `s`.`id` = `qstnn`.`s_id` INNER JOIN `templates` `t` on `t`.`id` = `qstnn`.`t_id` WHERE 1 %s "; $fields = " `t`.`title`, `s`.`system_name` "; $query = sprintf( $q, $fields, $data ); // dd($query); return DB::select($query); } public function getQuestionnairesReportQuery(){ return "SELECT %s FROM answers INNER JOIN ( SELECT syst_id FROM answers WHERE 1 GROUP BY syst_id ) as subquery ON answers.syst_id = subquery.syst_id INNER JOIN `systems` ON answers.syst_id = systems.id INNER JOIN `templates` ON answers.tmpt_id = templates.id INNER JOIN `users` ON answers.user_id = users.id %s GROUP BY answers.user_id, answers.qstnn_id, answers.tmpt_id, answers.qst_id, answers.syst_id, answers.rating "; } public function reports($array_data){ $fields = " answers.user_id, CONCAT(users.f_name,' ',users.l_name) as user_name, answers.tmpt_id, templates.title as template_title, systems.system_name as system_name, answers.qst_id, answers.qstnn_id, answers.syst_id, answers.rating "; $query = sprintf( $this->getQuestionnairesReportQuery(), $fields, $array_data['where'] ); return DB::select($query); } public function countsQuery(){ return "SELECT %s FROM answers `ans` INNER JOIN `systems` `s` on `s`.`id` = `ans`.`syst_id` INNER JOIN `templates` `t` on `t`.`id` = `ans`.`tmpt_id` INNER JOIN `users` `u` on `u`.`id` = `ans`.`user_id` WHERE 1 %s -- GROUP BY qstnn_id, syst_id, tmpt_id, user_name "; } public function reports2($array_data){ // dd($array_data); // $fields = " qstnn_id, syst_id, tmpt_id, CONCAT(users.f_name,' ',users.l_name) as user_name, systems.system_name, templates.title, AVG(SUBSTRING(answers.rating, 2, LENGTH(answers.rating)-2)) as average"; $fields = " `t`.`title`, `s`.`system_name`,CONCAT(`u`.`f_name`,' ',`u`.`l_name`) as `user_name`, `ans`.`rating` as `average` "; $query = sprintf( $this->countsQuery(), $fields, $array_data['where'] ); // dd($query); return DB::select($query); } public function pdf($results){ $data = []; $grpData = new \stdClass(); $grpData->list = $results; $grpData->total = sizeOf($results); array_push($data,$grpData); $report_title = "Responses Masterfile"; $reportData = [ 'data' => $data, 'webpage_title' => "Reviews Report", // 'image_url' => $base64_image, 'report_title' => $report_title, 'table_headers' => ['No.','User','Template','System','Response'], 'table_body' => ['user_name','template_title','system_name'] ]; // dd($data); return $reportData; } public function pdf2($results,$titles){ // dd($titles); $data = []; $grpData = new \stdClass(); $grpData->list = $results; $grpData->total = sizeOf($results); array_push($data,$grpData); $report_title = ($results[0]['system_name'] ?? ' ') . " Respondents Count"; $reportData = [ 'data' => $data, 'webpage_title' => "Reviews Report", 'report_title' => $report_title, 'system_name' => $titles[0]->system_name, 'template_name' => $titles[0]->title, 'table_headers' => ['No.','Name','Average'], 'table_body' => ['user_name','rating'] ]; return $reportData; } public function csv($result){ // dd($result); $inc = 0; $response = []; $response[] = [ 'No.','User','Template Name','System Name', 'Question', 'Rating' ]; foreach($result as $key => $row){ for($i=0; $i < count($row['ratings']); $i++){ // print_r($row['ratings'][$i]['questions']); // exit; $response[] = [ $inc+=1, $row['user_name'], $row['template_title'], $row['system_name'], $row['ratings'][$i]['questions'], $row['ratings'][$i]['rating'] ]; } // foreach($row['ratings'] as $r => $question){ } // dd($response); $file_name = ($result[0]->system_name ?? ' ') . " Respondents_Count-".date('Y-m-d').'.csv'; // dd($file_name); header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename="'.$file_name.'"'); $f = fopen('php://output', 'wb'); if($f === false){ die('Error opening the file '.$file_name); } if(empty($response[1])){ $arr = [ "No data to show" ]; fputcsv($f,$arr); } else { foreach($response as $row){ fputcsv($f, $row, ','); } } fclose($f); } public function csv2($results){ // dd($results); $response = []; $response[] = [ 'No.','User' ]; foreach($results as $key => $result){ $response[] = [ $key+=1, $result->user_name, ]; } $file_name = ($results[0]->system_name ?? ' ') . " Respondents_Count-".date('Y-m-d').'.csv'; header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename="'.$file_name.'"'); $f = fopen('php://output', 'wb'); if($f === false){ die('Error opening the file '.$file_name); } if(empty($response[1])){ $arr = [ "No data to show" ]; fputcsv($f,$arr); } else { foreach($response as $row){ fputcsv($f, $row, ','); } } fclose($f); } }
| ver. 1.4 |
.
| PHP 7.3.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings