De grande valia sua ajuda mas estava quereando ter que mecher aqui o
minímo, fiz um incremento na função com ajuda da sobrecarga, mas seria bom
também saber como clone um objeto por inteiro, ele e todos os filhos. Abri
um tópico no ko forum
http://forum.kohanaframework.org/discussion/10696/complete-clone-instance-orm#Item_1

public function isDisponivel($data_de, $data_ate, $evento_id = NULL) {

        foreach ($this->eventos->find_all() as $evento) {

            // se o evento passado for o mesmo que o do laço pula
            // utilizado para consistencias após a inserção
            if ($evento_id != NULL && $evento_id == $evento->id)
                continue;


Em 27 de abril de 2012 15:19, felipe bastos <[email protected]> escreveu:

> se for NxN o has() faz isso, não precisa refazer o loop.
>
> e trabalhando com data .. criei um algoritmo baseado em 4 tipos de choque
> de datas :D
>
> ocorreChoque()
>
>
> http://code.google.com/p/auditorio/source/browse/trunk/application/classes/model/periodo.php
>
>
> inicio e fim, pra mim é um inteiro (time) baseado em d/m/Y H:i.
>
> Vê se ajuda.
>
> Em 27 de abril de 2012 14:20, Douglas J.A.M <[email protected]>escreveu:
>
> Boa tarde pessoal,
>>
>>    Tenho uma consistência aqui que antes de adicionar um evento ao
>> aluno, verifica se ele já está alocado a outro na mesma data e horário
>> o prototipo é o seguinte:
>>
>> $aluno->isDisponivel($data_de, $data_ate);
>>
>> Onde essa função verifica nos eventos que o aluno já está cadastrado
>> com a data que recebe como argumento. Mas alguns problemas surgiram,
>> precisou-se trocar a data do de um evento e tenho de fazer uma
>> consistencia agora..
>>
>> Então o que eu gostaria de fazer, é saber se teria como eu dar um
>> CLONE em um objeto aluno, e qualquer remoção em um evento dele para
>> que eu possa fazer a consistencia denovo não exclua ele
>> definitivamente como por exemplo:
>>
>> foreach($alunos as $aluno){
>>    foreach($aluno->eventos->find_all() as $evento){
>>        $alunoClone = clone $aluno;
>>        $alunoClone->remove('eventos',$evento);
>>        if($alunoClone->isDisponivel($evento->data_de, $evento-
>> >data_ate)
>>            //.... trata a consistencia emitindo notificação etc..
>>
>> Eu ainda continuar trabalhando com o objeto para reutilizar minha
>> função isDisponivel, mas queria remover um evento sem afetar o banco,
>> alguém sabe como?
>>
>> --
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>> Php" dos Grupos do Google.
>> Para postar neste grupo, envie um e-mail para [email protected]
>> .
>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> [email protected].
>> Para obter mais opções, visite esse grupo em
>> http://groups.google.com/group/kohana-php?hl=pt-BR.
>>
>>
>
>
> --
> http://felipebastosweb.com.br
> http://twitter.com/felipebastosweb
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> [email protected].
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/kohana-php?hl=pt-BR.
>

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a