foreach ($outlineUrls as $outlineUrl) {
$html = file_get_contents($outlineUrl);
$DOMParser = new \DOMDocument();
$DOMParser->loadHTML($html);
$changeForMyDB = [
'remote_id' => '',
'region' => '関西',
'link' => json_encode($outlineUrl),
'name' => '',
'price' => '',
'extend' => '',
'address' => '',
'hows_old' => '',
'rooms' => '',
'old' => '',
'entery' => '',
'balcon_m2' => '',
'company_name' => '',
'script_from' => ''
];
$allPTags = $DOMParser->getElementsByTagName('p');
foreach($allPTags as $ptag){
if($ptag->getAttribute('class') == 'c-name'){
$changeForMyDB['name'] = trim($ptag->nodeValue);
}
}
$changeForMyDB['address'] = trim($DOMParser->getElementsByTagName('dd')[0]->nodeValue);
$allTables = $DOMParser->getElementsByTagName('table');
foreach($allTables as $table){
foreach($table->getElementsByTagName('tr') as $tr){
$property = trim($tr->getElementsByTagName('th')[0]->nodeValue);
$value = trim($tr->getElementsByTagName('td')[0]->nodeValue);
switch ($property) {
case '物件名':
$changeForMyDB['name'] = $value;
break;
case '販売価格':
$changeForMyDB['price'] = $value;
break;
case '専有面積':
$changeForMyDB['extend'] = $value;
break;
case '所在地':
$changeForMyDB['address'] = $value;
break;
case '総戸数':
$changeForMyDB['hows_old'] = $value;
break;
case '間取り':
$changeForMyDB['rooms'] = $value;
break;
case '竣工時期':
$changeForMyDB['old'] = $value;
break;
case '管理会社':
$changeForMyDB['company_name'] = $value;
break;
case '入居時期':
$changeForMyDB['entery'] = $value;
break;
case '入居時期':
$changeForMyDB['entery'] = $value;
break;
case 'バルコニー面積':
$changeForMyDB['balcon_m2'] = $value;
break;
default:
# code...
break;
}
}
}
if(Estates::where('link','=',$outlineUrl)->count() > 0)
{
$this->error('There is link.');
} else {
Estates::insertGetId($changeForMyDB);
$this->line('Data saved.');
}
但问题就在这里。它没有检查就插入了数据! 你知道是什么问题吗?谢谢你的帮助。