Yii Framework Forum: perguntinha sobre modulos relacionados. - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

perguntinha sobre modulos relacionados. Rate Topic: -----

#1 User is offline   harry 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 28
  • Joined: 16-July 09
  • Location:Santos

Posted 16 July 2009 - 12:07 PM

Bom dia pessoal, tudo bem, tive testando esse FrameWork PHP Yii, e achei muito irado.

Fiz o tutorialzinho la do blog de uma primeira aplicação e tal, achei muito simples e muito bom, e logo depois fui procurar algum tutoria falando sobre relacionamento e tudo mais, não encontrei, fui no forum e vi que algumas pessoas estavam perguntando sobre o relacionamento também, e achei alguns topicos no blog como esse (http://www.yiiframew...CHasOneRelation).

Porem não entendi o que esta nele Public Properties e também Public Methods tem alguns links mas não consegui criar um relacionamento tipo uma tabela de Generos Musicais e outra tabela de Cds.

Como eu faria???

Obrigado a toda a comunidade...
0

#2 User is offline   davi_alexandre 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 113
  • Joined: 08-July 09
  • Location:Guarulhos - São Paulo

Posted 16 July 2009 - 03:22 PM

Você define os relacionamentos no método relations(), em cada modelo.

No caso que você citou, ficaria +- assim:

class CD extends ActiveRecord {
...

public function relations() {
    return array(
        'genero'=>array(self::BELONGS_TO, 'Genero', 'id_genero'),
    );
}
...
}

Onde genero é o relacionamento do modelo Cd com o modelo Genero. Nesse relacionamento, especifico que o CD pertence (BELONGS_TO) a um Gênero.

Isso criará automaticamente uma propriedade chamada "genero", no seu modelo que poderá ser utilizada para acessar um instância do modelo Genero:

$cd->genero //retorna uma instância de Genero

Basicamente é isso, para outras informações, incluindo outros tipos de relacionamentos, você pode consultar a documentação no guia:
http://www.yiiframew...de/database.arr.
0

#3 User is offline   harry 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 28
  • Joined: 16-July 09
  • Location:Santos

Posted 17 July 2009 - 06:57 AM

Boa, consegui mano.

Porem só consegui se o nome do campo de relacionamento for igual nas duas tabelas no caso na tabela cd campo id_genero e na tabela genero campo id_genero.

Teria como fazer com o nome dos campos diferentes?
0

#4 User is offline   davi_alexandre 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 113
  • Joined: 08-July 09
  • Location:Guarulhos - São Paulo

Posted 17 July 2009 - 11:24 AM

Pode sim, desde que o relacionamento entre chaves primárias e estrangeiras esteja bem definido entre as tabelas.

No exemplo que passei, 'id_genero' é o nome do campo que é chave estrangeira na tabela cd. O AR do Yii irá relacionar este campo com a chave primária da tabela informada, no caso Genero, independente do nome dela.

Se estiver utilizando a versão mais atualizada e gerando suas classes através do yiic, ele já deveria gerar os relacionamentos automaticamente para você.
0

#5 User is offline   harry 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 28
  • Joined: 16-July 09
  • Location:Santos

Posted 23 July 2009 - 07:06 AM

Entendi, mas estou trabalhando com mysql e eu crio as chaves estrangeiras la pelo phpmyadmin, alguem ai ja criou por la também se sim conseguiu criar o modulo ja relacionado?
0

#6 User is offline   josafafilho 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 43
  • Joined: 08-July 09
  • Location:Brazil

Posted 23 July 2009 - 07:55 AM

View Postharry, on 23 July 2009 - 07:06 AM, said:

Entendi, mas estou trabalhando com mysql e eu crio as chaves estrangeiras la pelo phpmyadmin, alguem ai ja criou por la também se sim conseguiu criar o modulo ja relacionado?



Mesmo você criando as chaves estrangeiras pelo phpMyAdmin elas não deixam de ser chaves estrangeiras. Aqui o yiic já gera os relacionamentos corretamente, mas eu soh mando ele gerar o CRUD depois que minha tabela tá pronta com todos os relacionamentos, chaves estrangeiras e etc.
0

#7 User is offline   harry 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 28
  • Joined: 16-July 09
  • Location:Santos

Posted 23 July 2009 - 08:13 AM

Ae pessoa, consegui, não sei o que era, mas acho que eu etava fazendo o relacionamento errado no mysql, agradeço a todos ai...
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users