我试图在数据表中显示2个MySQL表的详细信息。我尝试将每个get设置为一个单独的变量并将它们作为集合的一部分返回。它返回第一个变量而不是第二个变量,就像它被忽略一样。
因此我选择尝试加入表但是这也失败了连接语句可能有问题,因为当我尝试运行时 - > toSql输出sql语句,查询创建它不会返回任何内容。
这是我的脚本:
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();
return Datatable::collection ($query,$c_num)
->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 $model->launch_time;
})
->addColumn('aws_account_id', function($model){
return $model->aws_account_id;
})
->searchColumns('instance_id',
'public_dns_name',
'key_name',
'instance_type',
'launch_time'
)
->orderColumns('instance_id',
'instance_type',
'public_dns_name',
'key_name',
'launch_time'
)
->make();
}
}
以上显示了分别设置每个变量。
这里是设想的等效连接语句
$query = DB::table('ec2_instance')->join('aws_account','aws_account.id','=','ec2_instance.id')->select('ec2_instance.instance_id','ec2_instance.public_dns_name','ec2_instance.key_name','ec2_instance.instance_type','ec2_instance.launch_time','aws_account.aws_account_id')->toSql();
注意我正在加入每个表中的id,这不是显示感谢
答案 0 :(得分:0)
因为sql错误,所以没有返回