Laravel从数据库中获取数据,这给了我一系列价值

时间:2018-09-21 16:31:07

标签: php laravel

<?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()时,会发生这种情况。

这是我的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 :(得分:2)

get()返回所有行的集合,因为您仅获得一列,而不指定where子句。如果只需要一个值,则可以使用value获得一个值(以前的版本使用pluck

$apiMonitor = DB::table('sites')->value('uptime_access_code');
相关问题