O método entitySelection.and( ) combina a seleção de entidade com a entidade ou seleçãoEntidade utilizando o operador AND lógico; devolve uma nova seleção de entidade desordenada que contenha só as entidades às quais se faz referência tanto na seleção de entidade quanto no parâmetro.
- Se passar entidade como parâmetro, combina esta entidade com a seleção de entidade. Se a entidade pertence à seleção de entidade, uma nova seleção de entidade é devolvida, que contém apenas a entidade. Do contrário, uma seleção de entidade vazia é devolvida.
- Se passar seleçãoEntidade como parâmetro, combina ambas seleções de entidade. Se devolver uma nova seleção de entidade que contenha apenas as entidades às quais se faz referência em ambas seleções. Se não houver entidade que se cruze, uma seleção de entidade vazia é devolvida.
Nota: pode comparar seleções de entidades ordenadas ou não ordenadas. A seleção resultante sempre está desordenada. Para saber mais, consulte o parágrafo Entity selections Ordenadas vs não ordenadas no Guia do desenvolvedor 4D.
Se a seleção de entidade original ou o parâmetro seleçãoEntidade estiver vazio, ou se a entidade for Null, se devolve uma seleção de entidade vazia.
Se a seleção de entidade original e o parâmetro não estiverem relacionados com a mesma classe de dados, um erro é gerado.
Queremos ter uma seleção de empregados de nome "Jones" que morem em Nova York:
C_OBJECT($sel1;$sel2;$sel3)
$sel1:=ds.Employee.query("name =:1";"Jones")
$sel2:=ds.Employee.query("city=:1";"New York")
$sel3:=$sel1.and($sel2)