html - 使用 laravel 插入 Select
问题描述
下午好。我正在尝试将从查询中检索到的数据存储到 MySQL 表中。我正在尝试“插入选择”。但我没有成功。
这是我的控制器
public function getHome()
{
/* Aqui mando a traer la conexión para hacer mi consulta */
$home = DB::connection('sqlsrv')->table('v_R_System_valid')->select('v_R_System_valid.Netbios_Name0', 'v_ADD_REMOVE_PROGRAMS.DisplayName0',
'v_ADD_REMOVE_PROGRAMS.Version0', 'v_ADD_REMOVE_PROGRAMS.InstallDate0')
->join('v_ADD_REMOVE_PROGRAMS', 'v_R_System_valid.ResourceID', '=', 'v_ADD_REMOVE_PROGRAMS.ResourceID')
->where('v_R_System_valid.Netbios_Name0', '=', 'DMXL3211')->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', '<>', '')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Installer%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%UPDATE%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%MUI%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Tool%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%kit%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%driver%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Microsoft Visual C++%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Runtime%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Outils%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Components%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Libraries%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Framework%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Proof%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Plug-in%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%SDK%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%.NET%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Help%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Service%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Setup%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Pack%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%GUI%')
->where('v_ADD_REMOVE_PROGRAMS.DisplayName0', 'not like', '%Script%')
->orderBy('v_R_System_valid.Netbios_Name0', 'ASC')->distinct()->get();
$auxiliar = 0;
//$SoftMySQL[] Crear un arreglo
foreach ($home as $softSQL) {
//Hacer consulta de este software, y almacenar todo en el arreglo.
$licencia = DB::connection('mysql')->table('lic')->select('NOMSOFLIC', 'ORDCOMLIC')
->where('LIC.NOMSOFLIC', '=', $softSQL->DisplayName0)
->where('LIC.EQUIPO', '=', $softSQL->Netbios_Name0)->get();
if ($licencia->isEmpty() OR ($licencia[0]->ORDCOMLIC=='No hay OC')) {
$soft = DB::connection('mysql')->table('sof')->select('NOMSOF', 'TIPLICSOF', 'TIPIMASOF', 'PERMITIDO', 'JUEGO')//->get();
->where('SOF.NOMSOF', '=', $softSQL->DisplayName0)->get();
if ($soft->isEmpty() or ($soft[0]->TIPLICSOF == "Licenciado" and $soft[0]->TIPIMASOF == "No estandar")) {
$empleado = DB::connection('mysql')->table('EMP')->select('EMP.PUEEMP', 'EMP.IDEEMP', 'EMP.NOMEMP', 'EMP.EMAIL', 'EQU.IDEEQU')
->join('EQU', 'EQU.IDEMP', '=', 'EMP.IDEEMP')
->where('EQU.IDEEQU', $softSQL->Netbios_Name0)
->where('EMP.PUEEMP', 'Empleado')->get();
$arraySoftSQL[$auxiliar] = $softSQL;
$arrayEmpleado[$auxiliar] = $empleado;
$arrayLicencia[$auxiliar] = $licencia;
if ($soft->isEmpty())
$arraySoft[$auxiliar] = 'No listado';
else
$arraySoft[$auxiliar] = $soft;
if ($licencia->isEmpty())
$arrayLicencia[$auxiliar] = 'Sin OC';
else
$arrayLicencia[$auxiliar] = $licencia;
$auxiliar++;
}
}
}
return view('catalogos.home', [
'arraySoftSQL' => $arraySoftSQL,
'arrayEmpleado' => $arrayEmpleado,
'arraySoft' => $arraySoft,
'arrayLicencia' => $arrayLicencia,
'total' => $auxiliar
]);
}
我看到以下代码可以正常工作,但它不起作用
public function copyHome(){
$select= DB::select('Insert into home','v_R_System_valid.Netbios_Name0', 'v_ADD_REMOVE_PROGRAMS.DisplayName0','v_ADD_REMOVE_PROGRAMS.InstallDate0',
'SOF.TIPLICSOF', 'SOF.TIPIMASOF','SOF.PERMITIDO', 'SOF.JUEGO','EMP.IDEEMP', 'EMP.NOMEMP','LIC.ORDCOMLIC');
$bindings = $select->getBindings();
$insertQuery = 'INSERT into home (Netbios_Name0, DisplayName0,InstallDate0,TIPLICSOF,TIPIMASOF,PERMITIDO,JUEGO,IDEEMP,NOMEMP,ORDCOMLIC)'. $select->toSql();
DB::insert($insertQuery, $bindings);
}
谁能告诉我,我可以将我获得的数据存储到另一个表中。
解决方案
推荐阅读
- python-3.x - 如何根据其他列python中的值变化提取列的值
- c++ - 使用指定路径从目录加载 PCD 文件(路径包含作为文件名的字符串)
- git - 在提交详细信息中搜索 Bitbucket 存储库中的评论
- swift - 获取视频数组的缩略图
- visual-studio-code - 并行安装 Visual Studio Code (vscode) 和 Visual Studio Code Insiders (vscode Insiders):修改标准应用
- import - 边缘数据未完全加载到 Neptune(通过 Python 和 Gremlin)
- codeigniter-3 - 我可以在 CodeIgniter Controller 中编写单个方法来处理 GET 和 POST 登录表单吗?
- c# - 如何根据租户动态更改资源路径(我们根据主机名确定租户)?
- java - 如何使用 cassandra java 驱动程序(3.6 版)在 Cassandra 访问器接口中传递分页状态?
- angular - 找不到名称“许多”-升级到 TypeScript 3.1.6