gpt4 book ai didi

php - Laravel 图表 : Passing variable to handler function

转载 作者:行者123 更新时间:2023-12-02 02:32:13 27 4
gpt4 key购买 nike

我按照 https://charts.erik.cat/guide/ 上的指南进行操作在我的 Laravel 7.4 框架中安装 Chartisan 和 echarts。一切正常,我收到了一张图表。

图表是通过此处理函数触发的:

public function handler(Request $request): Chartisan
{
return Chartisan::build()
->labels(['First', 'Second', 'Third'])
->dataset('Sample', [1, 2, 3])
->dataset('Sample 2', [3, 2, 1]);
}

数据集应从我的数据库中提取,因此我将代码修改为:

public function handler(Request $request): Chartisan
{
$data = DB::Users->where('id',$id)->find(1); //$id is not defined

return Chartisan::build()
->labels(['First', 'Second', 'Third'])
->dataset('Sample', [1, 2, 3])
->dataset('Sample 2', [3, 2, 1]);
}

当然这不起作用,因为 $id 没有定义。如何以及在哪里将数据传递给处理函数?如果 $request 变量不是表单,如何使用它?

图表是通过 api/chart/SampleChart 路由调用的。这条路线是在哪里定义的?我可以将数据传递给路线吗?它不包含在routes/api.php或web.php中。

所有带有处理函数的 Laravel/Chart 示例都不受限制地使用数据库表中的所有数据。我没有找到传递数据的示例。

global $id 无法访问 $id。

最佳答案

您可以使用“?”轻松地将参数从 View 传递到图表网址:

http://localhost/public/api/chart/sample_chart?id=1

像这样:

const chart = new Chartisan({
el: '#chart',
url: "@chart('sample_chart')" + "?id=1"
});

这部分"?id=1"我会做这样的事情"?id={{ $id_came_from_controller }}"

然后在您的 handle(Request $request) 方法中,您可以像这样访问您的 $id:

$id = $request->id;
$data = DB::Users->where('id', $id)->first();

附注

如果需要多个参数,可以这样传递:

http://localhost/public/api/chart/sample_chart?first_param=123&second_param=456&third_param=789

并检索:

$request->first_param;
$request->second_param;
$request->third_param;

关于php - Laravel 图表 : Passing variable to handler function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64873944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com