id = $id; $this->created_at = time(); parent::__construct(); } public static function instance($refresh = false) { return self::instantiate([]); } public static function instantiate($row) { return (new \ReflectionClass(static::className()))->newInstanceWithoutConstructor(); } public function getCustomer() { return $this->hasOne(CustomerWithConstructor::className(), ['id' => 'customer_id']); } public function getCustomerJoinedWithProfile() { return $this->hasOne(CustomerWithConstructor::className(), ['id' => 'customer_id']) ->joinWith('profile'); } public function getOrderItems() { return $this->hasMany(OrderItemWithConstructor::className(), ['order_id' => 'id'])->inverseOf('order'); } }