<?php
namespace Incoviba\old\Common;

use Incoviba\Common\Alias\OldModel as Model;

/**
 *
 * @author Aldarien
 *
 * @property int id
 * @property string descripcion
 * @property char numeral
 * @property int numeracion
 *
 */
class Region extends Model
{
	private $provincias = null;
	private $comunas = null;

	public function provincias()
	{
		if ($this->provincias == null) {
			$this->provincias = $this->hasMany(Provincia::class, 'region')->findMany();
		}
		return $this->provincias;
	}
	public function comunas()
	{
		if ($this->comunas == null) {
			$provincias = $this->provincias();
			$comunas = [];
			foreach ($provincias as $prov) {
				$comunas = array_merge($comunas, $prov->comunas());
			}
			usort($comunas, function($a, $b) {
				return strcmp($a->descripcion, $b->descripcion);
			});
			$this->comunas = $comunas;
		}
		return $this->comunas;
	}
}
?>
