laravel - 如何使用多个参数创建“yajra/laravel-datatables”?
问题描述
如何从多个数据源创建“yajra/laravel-datatables”?在这里,我想显示来自不同数据库的多个表。
$data1 = DB::table('schema1.post AS p')
->leftJoin('user AS u','u.id','=','p.user_id')
->select('p.*','u.*')
->get();
$data2 = DB::table('schema2.page AS page')
->leftJoin('user AS u','u.id','=','page.user_id')
->select('page.*','u.*')
->get();
return Datatables::of($data)
->addIndexColumn()
->make(true);
在这里,我对如何将 2 个变量传递给 Datatables 感到困惑?这是我的脚本。
var option = $("#Options").DataTable({
processing: true,
serverSide: false,
ajax: "{{route('option')}}",
columns: [
{
data: "user_name",
name: "user_name",
},
{
data: "type",
name: "type",
},
{
data: "description",
name: "description",
},
});
解决方案
你可以使用 Eloquent 的 ->union() 方法:
$data1 = DB::table('schema1.post AS p')
->leftJoin('user AS u','u.id','=','p.user_id')
->select('p.*','u.*')
->get();
$data2 = DB::table('schema2.page AS page')
->leftJoin('user AS u','u.id','=','page.user_id')
->select('page.*','u.*')
->union($data1)
->get();
return Datatables::of($data2)
->addIndexColumn()
->make(true);
确保您在 Datatables::of 方法中使用了正确的 $data2 var。
推荐阅读
- cordova - 免费后如何检测用户是否购买了该应用程序?
- kotlin - 值不会在简单的计算中相加
- firebase - 如何获取文档数据并将其设置在屏幕上
- r - 使用百分比时的美学分组论点
- java - Android Pjsip:音频电话会议
- php - 邮件程序错误:SMTP 连接()失败。https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 在我的代码中
- android - 当我将 `sqflite` 添加到我的 pubspec.yaml 时,为什么我的颤振应用程序会崩溃?
- python - 如何通过 django 将文件列表上传到 URL?
- java - Selenium Java-如何登录一次并使用同一浏览器实例运行多个测试用例,而不是为每个测试打开/关闭浏览器
- c - 为什么频率阵列会保存垃圾值?