javascript - 在 javascript 函数内以 Eloquent ORM 传递参数

标签 javascript php laravel eloquent laravel-5

我有一个 Laravel 应用程序,我使用 jQuery DataTables Master/Details 来显示一些额外的信息。我可以将数据显示到子行,但我希望首先对其进行过滤,具体取决于所选的行。我想要检索的信息不在我用来创建数据表的原始数据源上。因此,我想将记录 ID 传递给我直接从 JavaScript 使用的新查询。这是代码:

function kpi_values(d) {
    // `d` is the original data object for the row
    var $id = d.id;
    return '<table>'+
                '<thead>'+
                    '<tr>'+
                        '<th>Month</th>'+
                        '<th>Value</th>'+
                        '<th>Comment</th>'+
                    '</tr>'+
                '</thead>'+
                '<tbody>'+
                    '@foreach( \App\Reports::with("kpi")
                                            ->where("kpi_id",'+$id+')'+ 
                                            //this gives no records
                                            //->where("kpi_id",$id) -> this gives an error
                                            '->orderBy("month","desc")
                                            ->take(5)
                                            ->get() as $report)'+
                    '<tr>'+
                        '<td>{{$report->month}}</td>'+
                        '<td>{{$report->value}}</td>'+
                        '<td>{{$report->comment}}</td>'+
                    '</tr>'+
                    '@endforeach'+
                '<tbody>'+
            '</table>'
}

我收到的错误是:

ErrorException in e09c19f3dff5443f7b05b7c3c3e2f2a2 line 66:
Undefined variable: id

编辑 1 我刚刚意识到var $id不是 php 变量,因此它不会那样工作。所以我通过替换 var $id = d.id 更新了我的代码与 <?php $id = /*the problem*/ ?>

但是我无法通过 d.id作为该变量的值。

最佳答案

我认为你不能像这样从 javascript 到 PHP 获取 id。因为 PHP 渲染您的脚本并将其与 HTML 一起发送到浏览器中。

您应该为每一行编写 ajax 调用或在渲染为 HTML 之前准备数据

关于javascript - 在 javascript 函数内以 Eloquent ORM 传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31343759/

相关文章:

Javascript - 从对象数组创建数组的好方法

php - 我想从数据库中选择数据我的代码有什么错误,

php - PayPal-PHP-SDK 代码错误

php - Laravel LiveWire 2 : Do we have to make a new class or we can do like traditional Controller

javascript - 使用变量引用样式属性

javascript - 如何在包含日期范围的数组中填充日期?

php - 我正在使用 Laravel 5 的命令总线,我不清楚如何实现验证器类

html - Laravel-SQLSTATE[23000] : Integrity constraint violation

php - 克隆 Laravel 项目并安装 composer 和 npm 然后也给我错误 500 page not found

JavaScript:如何检查字符是否为 RTL?