Я пытаюсь создать datatable, который содержит данные из более чем одной таблицы MySQL.
Я использую Chumper, поскольку я также использую Laravel, насколько я вижу, нет примеров, использующих более одной таблицы sql за один раз.
Вот мой код:
<?php class CRUDController extends BaseController { public function instances(){ $query = EC2Instance::select('instance_id', 'public_dns_name', 'key_name', 'instance_type', 'launch_time' )->get(); $c_num= Account::select('aws_account_id' )->get(); $t_name= Tag::select('value' )->get(); return Datatable::collection($query, $c_num, $t_name) ->addColumn('instance_id', function($model){ return $model->instance_id ; }) ->addColumn('public_dns_name', function($model){ return $model->public_dns_name; }) ->addColumn('key_name', function($model){ return $model->key_name; }) ->addColumn('instance_type', function($model){ return $model->instance_type; }) ->addColumn('launch_time', function($model){ return date('M j, Y h:i A', strtotime($model->launch_time)); }) ->addColumn('aws_account_id', function($model){ return $model->aws_account_id; }) ->addColumn('value', function($model){ return $model->value; }) ->searchColumns('instance_id', 'public_dns_name', 'key_name', 'instance_type', 'launch_time', 'aws_account_id', 'value' ) ->orderColumns('instance_id', 'instance_type', 'public_dns_name', 'key_name', 'launch_time', 'aws_account_id', 'value' ) ->make(); } }
Значения $query
являются точными и корректно отображаются, это $c_num
и $t_name
.