PHP将model层调用控制层

将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替换为你的视图名称。