将model层中查询数据库,然后在控制层调用读取 用来渲染前端echars,想在model层把x轴、y轴都封装出来
这是model层 想问一下 控制层怎么写
<?php
namespace App\Model\model;
use DB;
class modelData{
public function change($type, $date) {
switch ($type) {
case '脱空计':
$table_name = 'instruments_tuokong';
break;
case '单向测缝计':
$table_name = 'instruments_danxiang_cefengji';
break;
case '双向测缝计':
$table_name = 'instruments_shuangxiang_cefengji';
break;
case '三向测缝计':
$table_name = 'instruments_sanxiang_cefengji';
break;
case '双向应变计':
$table_name = 'instruments_shuangxiang_yingbianji';
break;
case '三向应变计':
$table_name = 'instruments_sanxiang_yingbianji';
break;
case '无应力计':
$table_name = 'instruments_wuyingliji';
break;
case '卫星定位':
$table_name = 'instruments_gnss';
break;
case '测斜管':
$table_name = 'instruments_cexieguan';
break;
case '多点位移计':
$table_name = 'instruments_duodianweiyiji';
break;
case '三点位移计':
$table_name = 'instruments_sandian_weiyiji';
break;
case '渗压计':
$table_name = 'instruments_shenyaji';
break;
case '双向钢筋':
$table_name = 'instruments_shuangxiang_gangjinji';
break;
case '沉降标点':
$table_name = 'instruments_chenjiangbiaodian';
break;
case '沉降仪':
$table_name = 'instruments_chenjiangyi';
break;
case '引张式水平位移计':
$table_name = 'instruments_yinzhangshi';
break;
case '土体位移':
$table_name = 'instruments_tutiweiyiji';
break;
case '测斜仪':
$table_name = 'instruments_cexieyi';
break;
case '单向土压力计':
$table_name = 'instruments_danxiang_tuyaliji';
break;
case '四向土压力计':
$table_name = 'instruments_sixiang_tuyaliji';
break;
case '渗压管':
$table_name = 'instruments_shenyaguan';
break;
case '倒垂线':
$table_name = 'instruments_daochuixian';
break;
case '强震动加速度传感器':
$table_name = 'instruments_jiasudu';
break;
case '锚杆测力计':
$table_name = 'instruments_maoganceliji';
break;
default :
$table_name = 'instruments_tuokong';
break;
}
if(!empty($type) && !empty($action) && !empty($plane) && empty($instrument)){
$dataSets = [
["X_data" => ["TK5-01","TK5-02","TK5-03","TK5-04","TK5-05"], "Y_data" => []],
["X_data" => ["TK5-06","TK5-07","TK5-08","TK5-09","TK5-10"], "Y_data" => []],
["X_data" => ["TK5-11","TK5-12","TK5-13","TK5-14"], "Y_data" => []],
["X_data" => ["TK5-15","TK5-16"], "Y_data" => []],
["X_data" => ["TK5-17","TK5-18"], "Y_data" => []],
["X_data" => ["TK5-19"], "Y_data" => []]
];
$Y_data = DB::table('instruments_tuokong')->select('variation')->orderBy('create_time', 'desc')->where('code', $value)->first();
return $Y_data;
}
}
?>
参考GPT和自己的思路:对于这个问题,控制层应该调用model层的方法来获取封装好的x轴和y轴数据,并将数据传递给前端echars进行渲染。可以在控制层通过以下方式来调用model层的方法:
use App\Model\model\modelData;
class controlData {
public function getChartData($type, $date) {
$model = new modelData();
$chartData = $model->change($type, $date);
// 将封装好的x轴和y轴数据传递给前端echars进行渲染
}
}
在上面的代码中,控制层实例化了modelData类,并调用了其change方法来获取封装好的x轴和y轴数据。获取到数据之后,可以将其传递给前端echars进行渲染。
参考Chatgpt 部分内容:1、getData方法接收$type和$date参数
2、然后实例化modelData类,调用change方法获取数据
3、最后将数据传递给视图进行渲染。
change($type, $date);
return view('view', compact('dataSets')); } } ?>
将view替换为你的视图名称。