Как я могу синхронизировать c мою автономную php базу данных с моим онлайн laravel приложением - PullRequest
1 голос
/ 08 апреля 2020

Я пытался, но он не работает

Это функция отправки из моего приложения php, которая на самом деле отправляет данные, но я просто не могу понять, что это происходит на стороне laravel Я искал все и не могу найти ответ

//this sends the data
public function UploadTableContent($data)
    {
        $postarray = array(
            'data' => $data,
            'branch' => 'IKOYI'
        );
        //echo var_export($postarray);
        $postdata = http_build_query($postarray);

        $opts = array('http' =>
            array(
                'method'  => 'POST',
                'header'  => 'Content-Type: application/x-www-form-urlencoded',
                'content' => $postdata
            )
        );
        $context  = stream_context_create($opts);       
        $response = file_get_contents($this->remote_path."push", false, $context);

        return $response;
    }

    public function PushDb()
    {
        //specify needed tables
        $t = [
            "default_services",
            "default_service_categories",
            "default_bookings",
            "default_bookings_group",
            "default_customerbooking",
            "default_customers",
            "default_giftcard_transactions",
            "default_giftcards",
            "default_giftcardsales",
            "default_groups",
            "default_invoice",
            "default_product",
            "default_profiles",
            "default_sales",
            "default_sales_order",
            "default_users",
            "core_users",
            "default_referrer",
            "default_rewards",
        ];

        $tables = $this->getTableNames();
        //echo var_dump($tables);
        $tablesToSend = [];
        foreach ($t as $key => $value) {
            //echo var_dump($key);
            if ($key >= 0) {
                // fetch records from individual tables
                $query = $this->pdo->query("SELECT * FROM $value");
                $result = $query->fetchAll(PDO::FETCH_ASSOC);

                //var_dump($result);

                // collate table data information
                $tablesToSend[] = ['data' => $result, 'table_name' => $value];              
            }
        }

        // call table upload function
        return $this->UploadTableContent($tablesToSend);
    }

Я получаю запросы нормально, но все идет не так, как надо, это функция получения на конце laravel

/**
     * Updates relevant tables
     */



    public function UpdateTables(Request $request)
    {

        $dataArray = $request['data'];
        $tableName = [];
        $tableData = [];

        if (is_array($dataArray) || is_object($dataArray))
        {
            foreach ($dataArray as $innerArray) {
                $tableName = $innerArray['table_name'];
                $tableData = $innerArray['data'];

                //  Check type

                if (is_array($innerArray)){
                    //  Scan through inner loop
                    foreach ($tableData as $value) {
                        $this->insertData($tableName, $tableData);
                    }
                }
            }        
        }    
    }

    public function insertData($tableName, $tableData)
    {   
        include(app_path() . '\doSync\Db.php');

        $config = array(
            'db_username' => '----',
            'db_password' => '----',
            'db_name' => '----',
            'db_prefix' => '',  
            'db_server' => 'localhost', 
        );

        $db = new Db($config);

        $db->insert($tableName, $tableData);

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...