本文整理匯總了PHP中app\City::firstOrNew方法的典型用法代碼示例。如果您正苦於以下問題:PHP City::firstOrNew方法的具體用法?PHP City::firstOrNew怎麽用?PHP City::firstOrNew使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類app\City
的用法示例。
在下文中一共展示了City::firstOrNew方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: Geocoding
public function Geocoding()
{
//take addresses not yet scraped in the past or incorrectly scraped, geocode scraping, save to cities table
$addressesWithoutGeolocation = Address::whereNull('city_id')->get();
$GeoScraped = new GoogleMapsScraper();
foreach ($addressesWithoutGeolocation as $address) {
$gmaps_output = $GeoScraped->Geocode($address->raw_input);
//get gmaps_status
$dataArray['gmaps_status'] = null;
$dataArray = parent::ExtractWithXpath($gmaps_output, $this->GeoPatterns, 'text', 'first', 'xml');
//get address_components in array
$componentsArray = array();
$componentsArray = parent::ExtractWithXpath($gmaps_output, $this->AddressComponentsPattern, 'html', 'multiple', 'xml');
$cityArray['city_name'] = null;
$countryArray['country_code'] = null;
$countryArray['country_name'] = null;
//search country component in every address component, once found extract name and code
foreach ($componentsArray as $AddressComponent) {
if (preg_match("|type>country<|", $AddressComponent)) {
$AddressComponent = '<result>' . $AddressComponent . '</result>';
//get country_code, country_name
$countryArray = parent::ExtractWithXpath($AddressComponent, $this->CountryPatterns, 'text', 'first', 'xml');
} elseif (preg_match("|type>natural_feature<|", $AddressComponent)) {
$AddressComponent = '<result>' . $AddressComponent . '</result>';
//get country_code, country_name
$cityArray = parent::ExtractWithXpath($AddressComponent, $this->IslandPatterns, 'text', 'first', 'xml');
} elseif (preg_match("|type>locality<|", $AddressComponent)) {
$AddressComponent = '<result>' . $AddressComponent . '</result>';
//get country_code, country_name
$cityArray = parent::ExtractWithXpath($AddressComponent, $this->CityPatterns, 'text', 'first', 'xml');
}
}
if (empty($cityArray['city_name']) and !empty($cityArray['island'])) {
$cityArray['city_name'] = $cityArray['island'];
}
if (empty($countryArray['country_code'])) {
$countryArray['country_code'] = 'xx';
}
//if city doesn't exist, save it to cities
$city = City::firstOrNew(['city_name' => $cityArray['city_name'], 'country_code' => strtolower($countryArray['country_code'])]);
$city->gmaps_status = $dataArray['gmaps_status'];
$city->gmaps_output = $gmaps_output;
$city->country_name = $countryArray['country_name'];
//city_slug
$slug = new SlugClass();
$city->city_slug = $slug->slugify($cityArray['city_name']);
$city->save();
//save foreign key in addresses
$address->city_id = $city->id;
$address->save();
}
}