hum, foi mau... pai está ligado com avo e não o filho...
cara, eu nunca teste, mais de repente da para usar with com pai e avo,
senão tenta com JOIN.

Outra solução é executar a query assim:

$query = "
                SELECT
                    f.id
                FROM
                    filho f,
                    pai p,
                    avo a
                WHERE
                    f.pai_id = p.id AND
                    p.avo_id = a.id
                ORDER BY
                    a.nome,
                    f.expiration_date,
                LIMIT
                    0, 50";
$resultado = DB::query(Database::SELECT,$query)->execute();
foreach($resultado as $r) {
        $filho = ORM::Factory('filho',$r['id']);
echo $filho->name;
 echo $filho->pai->name;
echo $filho->pai->avo->name;
}

Você pode para otimizar o tempo já trazer no resultado do select todas as
informações que quer mostrar, não precisando carregar o filho a cada
interação... aí fica a seu critério.
Isso deve resolver.

Abs


Atenciosamente,


*Paulo Duarte*
Inteligência Web - Comunicação e Sistemas

Fone: (48) 3028.5141 / 8426.3629
E-mail: [email protected]
Skype: paulo.iw

-------------------------------------------------------------------------------------------
Aviso de confidencialidade:
Esta mensagem da Empresa IW - Inteligência Web Comunicação e Sistemas,
empresa privada, é enviada exclusivamente a seu destinatário e pode conter
informações confidenciais, protegidas por sigilo profissional. Sua
utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se
você a recebeu indevidamente, queira, por gentileza, reenviá-la ao
emitente, esclarecendo o equívoco.


Em 24 de maio de 2013 11:33, Fabyo Guimaraes <[email protected]> escreveu:

> Valeu Paulo e Beto
>
> eu tentei usar o with e o order by mas esta dando esse erro
>
> ErrorException [ 4 ]: syntax error, unexpected '$filhos' (T_VARIABLE) ~ 
> APPPATH\classes\Controller\Filhos.php [ 20 ]
>
> linha 20 : $filhos = ORM::Factory('filho')
>
> linha 21 :    ->with('avo')
>
>
>
> Em 24 de maio de 2013 11:19, Paulo Duarte 
> <[email protected]>escreveu:
>
>> Cara, o avô está em outra tabela...
>> se não me engano você tem q fazer algo assim (se for utilizar ORM):
>> $filhos = ORM::Factory('filho')
>>         ->with('avo')
>> ->offset(0)
>>  ->limit(50)
>> ->order_by('filho.expiration_date', 'ASC')
>>         ->order_by('avo.nome', 'ASC')
>>  ->find_all();
>>
>> Atenciosamente,
>>
>>
>> *Paulo Duarte*
>> Inteligência Web - Comunicação e Sistemas
>>
>> Fone: (48) 3028.5141 / 8426.3629
>> E-mail: [email protected]
>> Skype: paulo.iw
>>
>>
>> -------------------------------------------------------------------------------------------
>> Aviso de confidencialidade:
>> Esta mensagem da Empresa IW - Inteligência Web Comunicação e Sistemas,
>> empresa privada, é enviada exclusivamente a seu destinatário e pode conter
>> informações confidenciais, protegidas por sigilo profissional. Sua
>> utilização desautorizada é ilegal e sujeita o infrator às penas da lei. Se
>> você a recebeu indevidamente, queira, por gentileza, reenviá-la ao
>> emitente, esclarecendo o equívoco.
>>
>>
>> Em 24 de maio de 2013 10:32, Fabyo <[email protected]> escreveu:
>>
>>> Oi Pessoal
>>>
>>> eu estava usando o recurso do kohana sobre relacionamento de tabelas e
>>> estava perfeito, ate que eu precisei ordenar um campo da tabela e deu erro
>>> estou testando e acho que para ordenar do jeito que eu quero nao vou
>>> poder usar o modo padrado do kohana
>>> vou postar um exemplo para voces entenderem melhor
>>>
>>> $filhos = ORM::Factory('filho')
>>> ->offset(0)
>>> ->limit(50)
>>>  ->order_by('expiration_date', 'ASC')
>>> ->find_all();
>>>
>>> foreach ($filhos as $filho)
>>> {
>>> echo $filho->name;
>>> echo $filho->pai->name;
>>>  echo $filho->pai->avo->name;
>>> }
>>>
>>> esse exemplo funciona perfeitamente só que precisei ordenar o nome do
>>> avo ai que eu percebi um problema
>>> do jeito que eu estou fazendo acima nao tem como certo?
>>>
>>> vou ter que fazer de outra maneira? se for isso blz eu consigo fazer,
>>> mas só queria uma opniao pra saber se tem como fazer continuando usando o
>>> exemplo acima
>>>
>>> valeu
>>>
>>> --
>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>> Php" dos Grupos do Google.
>>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>>> envie um e-mail para [email protected].
>>> Para postar neste grupo, envie um e-mail para
>>> [email protected].
>>> Visite este grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
>>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>
>>  --
>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>> Php" dos Grupos do Google.
>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>> envie um e-mail para [email protected].
>> Para postar neste grupo, envie um e-mail para [email protected]
>> .
>> Visite este grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>  --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> envie um e-mail para [email protected].
> Para postar neste grupo, envie um e-mail para [email protected].
> Visite este grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>
>

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


Responder a