问题标签 [laravel-datatables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
13863 浏览

php - Laravel,数据表,具有关系计数的列

我有两个模型,User并且Training,它们之间有Many to many关系。我正在使用Laravel Datatables包来显示所有用户的表格。数据控制器方法(检索查询结果并创建 Datatables 表)如下所示:

如何在创建的表中添加一列,显示每个用户的关系总数(即每个用户有多少Trainings User)?

0 投票
2 回答
3011 浏览

php - 排除 Laravel 会附加模型结果中的值

Laravel 可以选择为每个模型添加一个$appends数组,通过为每个模型添加访问器,使附加值自动可用,就好像它们是数据库属性一样。

这通常非常方便,但在这种情况下,我只需要获取我输入的字段,select()因为 DataTables 只期待我发送给它的内容。

例子:

color将在属性之后返回附加字段。

返回结果时如何强制排除附加值?

或者,如何让 DataTables 忽略某些属性?

不确定哪个是时间成本最低的路线。

目前使用yajra/laravel-datatables包向 jQuery DataTables AJAX 请求发送数据。

0 投票
2 回答
233 浏览

php - 使用名称而不是用户名的数据表查询

我有一个项目,我们不存储用户的名称,而只使用他们的用户名进行所有操作。

我发现了一个名为Ticketit的包,它是 Laravel 的帮助台票务系统。

该软件包对所有内容都使用用户名,因此这导致了一些错误。我的模型上有一个getNameAttribute()访问器User,因此在大多数情况下这满足了包,但是有些地方name在 Eloquent::lists()查询中显式调用。

对于这些,我在我自己的这个 repo 的 fork 中手动替换name,并将其链接到我的项目。username

数据表在页面上按预期加载,但是当我尝试按任何其他列排序或在其中运行搜索时,我在开发人员工具的“网络”选项卡中收到 500 个错误。

预览响应显示:

Connection.php 第 662 行中的 QueryException:SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列 'users.name'(SQL:选择计数(*)作为聚合来自(row_countticketit内部连接中选择 '1' userson users. id= ticketit. user_idinner join ticketit_statuseson ticketit_statuses. id= ticketit. status_idinner join ticketit_prioritieson ticketit_priorities. id= ticketit. priority_idinner join ticketit_categorieson ticketit_categories. id= ticketit. category_idwhere completed_atis null and (LOWER( ticketit. id) LIKE %%h%% or LOWER( subject) LIKE %%h%% or LOWER( ticketit_statuses. name) LIKE %%h%% 或 LOWER( ticketit. updated_at) LIKE %%h%% 或 LOWER( users. name) LIKE %%h%% 或 LOWER( ticketit_priorities.name) LIKE %%h%% 或 LOWER( users. name) LIKE %%h%% 或 LOWER( ticketit_categories. name) LIKE %%h%%)) count_row_table)

按照这篇文章的路线,我到达TicketController@data. 在原始包中,这是:

我在我的叉子中对此进行了编辑:

有了这个,我将其更改users.nameusers.username,但这并不能解决我的问题。

谁能帮我弄清楚为什么,或者我还需要改变什么,因为我没有运气弄清楚我还需要在哪里改变它。

0 投票
2 回答
813 浏览

laravel - Laravel oneToMany accessor usage in eloquent and datatables

On my User model I have the following:

The accounting table has activity records and I'd like this to return the latest value for field 'rtype' for a userid when used.

In my controller I am doing the following:

However I don't get the value of 'rtype' for the users in the table and no errors.

0 投票
2 回答
2328 浏览

javascript - Laravel:按显示的数据或枚举排序和搜索,而不是按数据库表

我正在使用 Laravel 5.6 和 yajira 数据表插件。

我想在其中一列中显示用户状态,该列是数据库中从 0-5 的数字,但我想在列中显示并显示为单词(新、更新、初始等)

制作数据表的方法:

如您所见,status返回的$user->status_name是我的用户模型上的访问器方法:

UserStatus Enum 类具有从数字到字符串的状态转换逻辑:

在视图中,我通过 jQuery Ajax 和数据表获取数据,我在视图中的代码如下:

现在,由于name:user.status搜索和排序将基于user.status仅是数字的列。有没有办法强制它使用显示的数据进行搜索和排序?请指出我正确的方向。

0 投票
2 回答
589 浏览

php - 数据表:addColumn 仅发送文本

我正在做服务器端处理,并且我正在添加具有一些 css 样式的列,但由于某种原因,它没有在 html 中解释,它仅作为文本获取。

这是我的 php 代码。

我的js

这就是结果

在此处输入图像描述

谢谢你的帮助!

有效的方法 在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
3092 浏览

php - Laravel DataTables 服务实现和连接

无法弄清楚简单的任务:加入 1 个表并添加列。这里没有关于服务实现的有用文档:DataTables as a Service Implementation

以上会触发奇怪的错误

尝试了许多变体,例如:

以上会触发Column 'id' in field list is ambiguous

另一个是:

这将导致:strtolower() expects parameter 1 to be string, array given

等等等等。也许有人可以给出使用服务实现的基本连接示例?

系统详情

  • 操作系统 OSX
  • PHP 版本 7.2
  • Laravel 5.5 版
  • Laravel 数据表 8.0 版

更新#1

这个接缝最接近工作解决方案:

但我越来越Requested unknown parameter 'technika.id' for row 0, column 0.

但是 XHR 响应接缝没问题,我可以看到来自后端的正确数据。

0 投票
1 回答
266 浏览

php - 为什么我的 DataTables 不能正常工作?

我在这个包中使用 Laravel 5.5 https://github.com/yajra/laravel-datatables 我在浏览器选项卡而不是表格上得到以下响应。没有数据表功能,页面加载完美的静态内容。谁能指出我的片段中缺少什么?

127.0.0.1:8000/产品

网页.php

产品控制器.php

产品.php

资源/视图/产品/index.blade.php

0 投票
0 回答
403 浏览

json - Laravel DataTables JSON 列转义字符

尝试使用 Yajra DataTables 作为服务实现,这是我的问题:

我有 JSON 列metas,我根据该列内的字段构建表列,例如:

[ 'data' => 'date', 'name' => 'metas->date AS date', 'title' => 'Data' ],

所以在metas里面我有:

当我尝试将此返回给 DataTable 时,它​​会留下配额,或者用反斜杠转义它。所以输出看起来像:

"Something"或者"Something \"mmm?\ whatever!"but 应该是 jus Something

尝试过->escapeColumns(false)->rawColumns(['date'])还有->rawColumns(['metas->date'])更多...

响应如下所示:

正如你所看到的,我在日期附近有额外的报价:通常,如果我使用 ->toJson() 从数据库返回相同的数据,就不会有问题。DataTables 解码有问题。

0 投票
1 回答
110 浏览

elasticsearch - 在 Laravel v5.6 上将过滤后的数据传递给 Datatables v8

我通过弹性搜索与 laravel 数据表集成。对于以前的版本,此代码正在解决问题。

现在使用新版本的数据表 (v8),collectionEngine 的构造函数已更改,不再接收请求的第二个参数,并且 Yajra\DataTables\Request 类也已删除

仍在寻找解决方案,但没有成功。我怎样才能像以前一样进行这种集成。