public function toArray()
{
$array = [];
$properties = array_merge(array_keys($this->properties), $this->appends);
foreach ($properties as $key) {
$property = $this->getProperty($key);
if ($property instanceof Arrayable) {
$property = $property->toArray();
}
$array[$key] = $property;
}
return $array;
}