Здравствуйте, прошу помощи. Ситуация следующая. Есть скрипт, обращающийся к удаленной БД, который получает ассоциативный массив данных ( таблица уникальных значений: 3 столбца 2500 строк - проверил в консоли работает ). Я его расположил в папке public приложения. Как мне обратиться к нему через Laravel ( я так понимаю по url ) и записать в свою БД. Если можно на простом примере, т.к. я в этом начинающий и по документации сам разобраться не смог. Заранее благодарен. Laravel 5.4 MSSQL server 2008 PHP 5.6.4
Сначала надо PHP учить, а потом на Laravel писать, тогда глупых вопросов не будет. Зачем было делить на два скрипта, а не сделать, к примеру, команду artisan, обращающуюся к одной базе и записывающей в другую (доку повторять не буду, как делать команды artisan)? В каком виде даёт данные тот скрипт, который в папке public?
А не надо его в паблик класть. Скрипт надо переделать в контроллер и положить в правильное место (app/Http/Controllers) и дальше плясать уже от этого. И не надо никуда вне проекта будет лазить --- Добавлено --- Опоздал.
Стараюсь учить по мере поставленных задач. А разделял из-за следующего ряда причин: 1) От удаленной базы с windows аутентификацией (база microsoft system center) получаю результат (эти самые 3 колонки уникальных значений) - они должны записаться в мою БД c SQL авторизацией и в дальнейшем дополняться только новыми уникальными значениями. 2) Доступ на запись у определенного круга лиц $serverName = "#########"; $conn = sqlsrv_connect( $serverName); $sql =" SELECT DISTINCT Display_Name, Publisher, Product_ID FROM (SELECT [v_GS_COMPUTER_SYSTEM].Name0 AS Computer_System_Name, [v_GS_OPERATING_SYSTEM].Name0 AS Operating_System_Name, [v_GS_COMPUTER_SYSTEM].UserName0 AS Computer_System_User_Name, [v_GS_OPERATING_SYSTEM].CSDVersion0 AS CSDVersion, [v_GS_NETWORK_ADAPTER_CONFIGUR].IPAddress0 AS IP_Address, [v_GS_NETWORK_ADAPTER_CONFIGUR].MACAddress0 AS MAC_Address, [v_GS_ADD_REMOVE_PROGRAMS].DisplayName0 AS Display_Name, [v_GS_WORKSTATION_STATUS].LastHWScan AS Last_Hardware_Scan, [v_GS_ADD_REMOVE_PROGRAMS].Publisher0 AS Publisher, [v_GS_ADD_REMOVE_PROGRAMS].ProdID0 AS Product_ID, [v_GS_ADD_REMOVE_PROGRAMS].Version0 AS Versions FROM v_R_System inner join [v_GS_COMPUTER_SYSTEM] ON v_GS_COMPUTER_SYSTEM.ResourceID = v_R_System.ResourceID inner join [v_GS_NETWORK_ADAPTER_CONFIGUR] ON v_GS_NETWORK_ADAPTER_CONFIGUR.ResourceID = v_R_System.ResourceID inner join [v_GS_ADD_REMOVE_PROGRAMS] ON v_GS_ADD_REMOVE_PROGRAMS.ResourceID = v_R_System.ResourceID inner join [v_GS_OPERATING_SYSTEM] ON v_GS_OPERATING_SYSTEM.ResourceID = v_R_System.ResourceID inner join [v_GS_WORKSTATION_STATUS] ON v_GS_WORKSTATION_STATUS.ResourceID = v_R_System.ResourceID WHERE [v_GS_NETWORK_ADAPTER_CONFIGUR].IPAddress0 LIKE '10.233.33.%' or ) AS Mapping GROUP BY Display_Name, Publisher, Product_ID"; $getMapping = sqlsrv_query($conn, $sql); while($row = sqlsrv_fetch_array($getMapping, SQLSRV_FETCH_ASSOC)) { echo($row['Display_Name']." ".$row['Publisher']." ".$row['Product_ID']."\n"); } sqlsrv_free_stmt($getMapping); sqlsrv_close($conn); вот сам скрипт
Ну вот даже прямо этот код можно вставить прямо в команду artisan, а вместо echo - код добавления в базу. Опять же, документацию дублировать я здесь не буду. То, что вы делаете, это похоже на то, что если бы я сейчас, с моим начальным уровнем немецкого, решил писать статьи в Die Welt или вести радиопередачи на Deutsche Welle