Skip to content

9.5.1 - Corrección para DTOs en campos de filtros.

Choose a tag to compare

@osumionline osumionline released this 04 Feb 12:06
· 145 commits to main since this release

En el nuevo sistema de DTOs, se pueden mapear valores de los filtros directamente en un DTO, pero en el caso de que el DTO tuviese un campo que se llamase igual que el del filtro no se podían distinguir. Por ejemplo:

// Antes
class UserDTO extends ODTO{
	#[ODTOField(required: true)]
	public ?int $id_user = null;

	#[ODTOField(required: true)]
	public ?string $name = null;

	// No se puede acceder al valor "name" del filtro por que ya hay un campo llamado "name"
	#[ODTOField(required: true, filter: 'User']
	public ?string $username = null;
}

// Ahora
class UserDTO extends ODTO{
	#[ODTOField(required: true)]
	public ?int $id_user = null;

	#[ODTOField(required: true)]
	public ?string $name = null;

	// La nueva propiedad "filterProperty" permite acceder al campo "name" del filtro
	// y guardarlo en el campo "username" del DTO
	#[ODTOField(required: true, filter: 'User', filterProperty: 'name')]
	public ?string $username = null;
}