Laravel получает данные из базы данных, давая мне массив значений - PullRequest
0 голосов
/ 21 сентября 2018
<?php 

$apiMonitor = DB::table('sites')->select('uptime_access_code')->get();

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.uptimerobot.com/v2/getMonitors",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "api_key=Private&format=json&logs=1&monitors=$apiMonitor&custom_uptime_ratios=1-7-30",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/x-www-form-urlencoded"
 ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

  if ($err) {
   echo "cURL Error #:" . $err;
} else {
$data = json_decode($response);
$custom_uptime = ($data->monitors[0]->custom_uptime_ratio);
$uptime = explode("-",$custom_uptime);
}

?>

Я уже получаю свое значение от времени доступа, но это массив. Дело в том, что моему монитору нужно только значение, но когда я dd (), это происходит.

Это мой дд ($ apiMonitor);

apiMonitor

Вывод, который я хочу получить:

CURLOPT_POSTFIELDS => "api_key=Private&format=json&logs=1&monitors=778780885&custom_uptime_ratios=1-7-30",

Вывод, который вы видите, уже работает, но как я могу получить данные из базы данных и поместить значение uptime_access_code на мой монитор?Спасибо.

1 Ответ

0 голосов
/ 21 сентября 2018

get() возвращает коллекцию всех строк, поскольку вы получаете только один столбец и не указываете условие where.Если вам нужно только одно значение, вы можете использовать value для получения одного значения (предыдущие версии использовали pluck)

$apiMonitor = DB::table('sites')->value('uptime_access_code');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...