<?php
namespace App\Model\model;
use DB;
class modelData{
public function change($type, $data) {
$dataSets = [
["X_data" => ["TK5-01","TK5-02","TK5-03","TK5-04","TK5-05"]],
["X_data" => ["TK5-06","TK5-07","TK5-08","TK5-09","TK5-10"]],
["X_data" => ["TK5-11","TK5-12","TK5-13","TK5-14"]],
["X_data" => ["TK5-15","TK5-16"]],
["X_data" => ["TK5-17","TK5-18"]],
["X_data" => ["TK5-19"]]
]; //X轴数据
$Y_data = [];
foreach ($dataSets as $key => $dataSet) {
$X_data[] = $dataSet["X_data"];
foreach ($dataSets as $k => $value) {
$result = DB::table('instruments_tuokong')->select('cumulative')->orderBy('create_time', 'desc')->where('code', $value)->first();
$Y_data[$key][] = $result->cumulative;
}
}
//var_dump($X_data,$Y_data);
return [$X_data,$Y_data];
$instruments = ['TK5-01', 'TK5-02', 'TK5-03', 'TK5-04', 'TK5-05', 'TK5-06', 'TK5-07', 'TK5-08', 'TK5-09', 'TK5-10', 'TK5-11', 'TK5-12', 'TK5-13', 'TK5-14', 'TK5-15', 'TK5-16', 'TK5-17', 'TK5-18', 'TK5-19'];
$numbers = [1, 2, 3, 4, 5, 6];
$data = [];
foreach ($instruments as $instrument) {
$instrumentData = [];
foreach ($numbers as $number) {
$result = DB::table('instruments_tuokong')->select('variation')->where('code', '=', $instrument)->whereIn('number', [$number])->get();
$instrumentData[] = $result[0]->variation;
}
$data[] = $instrumentData;
}
return [$data];
}
}
php
namespace App\Http\Controllers;
use App\Model\modelData;
class DataController extends Controller
{
public function index()
{
$modelData = new modelData();
// 第一次查询
$result1 = $modelData->change('type1', 'data1');
$X_data = $result1[0];
$Y_data = $result1[1];
// 第二次查询
$result2 = $modelData->change('type2', 'data2');
$data = $result2[0];
// 在控制层使用查询到的数据
// ...
}
}
这段PHP代码看起来像是一个Laravel框架的Model类的函数change(),它使用了DB类从数据库中查询数据,并将结果返回成一个包含X轴和Y轴数据的数组。
如果您需要将这些数据传输到控制层,可以考虑以下方法:
将这个函数封装在Controller类中,以便于在路由中调用。例如:
php
namespace App\Http\Controllers;
use App\Model\model\modelData;
use Illuminate\Http\Request;
class dataController extends Controller
{
public function getData(Request $request)
{
$type = $request->input('type');
$dataModel = new modelData();
$data = $dataModel->change($type);
return response()->json($data);
}
}
在前端页面中使用ajax请求获取数据。例如:
javascript
$.ajax({
url: "/getData",
type: "POST",
data: {type: "some_type"},
success: function(data) {
console.log(data);
// 处理数据
},
error: function(xhr, status, error) {
console.error(error);
}
});
其中,url指向控制器的路由地址,type为请求参数,success回调函数中的data变量即为服务器返回的数据。
希望这些信息对您有所帮助。
这是一个 Laravel 的 Model 类的方法。该方法返回一些数据,用于传输到控制层。具体来说,该方法接受两个参数,分别是 $type 和 $data。该方法的功能是从数据库中查询一些数据,并对这些数据进行处理,最后返回处理结果。
该方法首先定义了一个名为 $dataSets 的数组,该数组包含了 X 轴的数据。然后,该方法使用一个 foreach 循环来处理 $dataSets 数组,获取每个数据集的 X 轴数据,并查询数据库中相应的 Y 轴数据。最后,该方法将 X 轴和 Y 轴数据作为结果返回。
值得注意的是,该方法中还有一个注释掉的代码段。该代码段是另一种处理数据的方法,该方法从数据库中查询每个仪器的一些数据,并将查询结果按照一定格式组织为 $data 数组,最终返回该数组。