Я пытался, но он не работает
Это функция отправки из моего приложения 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);
}