2017-06-05 53 views
0

我試圖讓我的數據庫表播種。我收到以下錯誤。Laravel:從URL中播種數據庫時出錯

enter image description here

public function run() 
{ 
    // 
    $json = file_get_contents('http://www.ottawacityjobs.ca/en/data/'); 
    $emplois = json_decode($json); 

    foreach ($emplois as $item) { 
     Emploi::insert(
      array(
       array('JOBURL' => $item->JOBURL), 
       array('SALARYMAX' => $item->SALARYMAX), 
       array('SALARYMIN' => $item->SALARYMIN), 
       array('SALARYTYPE' => $item->SALARYTYPE), 
       array('NAME' => $item->NAME), 
       array('POSITION' => $item->POSITION), 
       array('JOBREF' => $item->JOBREF), 
       array('JOB_SUMMARY' => $item->JOB_SUMMARY), 
       array('POSTDATE' => $item->POSTDATE), 
       array('EXPIRYDATE' => $item->EXPIRYDATE), 
       array('KNOWLEDGE' => $item->KNOWLEDGE), 
       array('LANGUAGE_CERTIFICATES' => $item->LANGUAGE_CERTIFICATES), 
       array('EDUCATIONANDEXP' => $item->EDUCATIONANDEXP), 
       array('COMPANY_DESC' => $item->COMPANY_DESC), 
      )); 
    }//end foreach 
+0

這個錯誤意味着你洞'$對象 - > property'其中'$ object'不是一個對象。在'$ item'上做一個'dd()'來查看它實際是什麼。 – treeface

+0

謝謝@treeface你是對的。我將添加另一個循環{[{},{},{}]} –

回答

2

你提供的URL(http://www.ottawacityjobs.ca/en/data/),爲要訪問它不呈現數據。 JSON的結構是這樣的:

{ 
    jobs: [ 
     {...}, 
     {...}, 
     {...} 
    ] 
} 

所以,你的代碼需要遍歷jobs屬性:

public function run() 
{ 
// 
$json = file_get_contents('http://www.ottawacityjobs.ca/en/data/'); 
$emplois = json_decode($json); 

foreach ($emplois->jobs as $item) { 
    Emploi::insert(
     array(
      array('JOBURL' => $item->JOBURL), 
      array('SALARYMAX' => $item->SALARYMAX), 
      array('SALARYMIN' => $item->SALARYMIN), 
      array('SALARYTYPE' => $item->SALARYTYPE), 
      array('NAME' => $item->NAME), 
      array('POSITION' => $item->POSITION), 
      array('JOBREF' => $item->JOBREF), 
      array('JOB_SUMMARY' => $item->JOB_SUMMARY), 
      array('POSTDATE' => $item->POSTDATE), 
      array('EXPIRYDATE' => $item->EXPIRYDATE), 
      array('KNOWLEDGE' => $item->KNOWLEDGE), 
      array('LANGUAGE_CERTIFICATES' => $item->LANGUAGE_CERTIFICATES), 
      array('EDUCATIONANDEXP' => $item->EDUCATIONANDEXP), 
      array('COMPANY_DESC' => $item->COMPANY_DESC), 
     )); 
}//end foreach