Pergunta

O que é o método para salvar e atualizar muitos para muitos relação no quadro Yii?

Outras dicas

A menos que você criar um modelo para a mesa entre as duas tabelas principais, sua única opção é usar DAO (Access Database Object) e especificar SQLs com ele.

Tenha um olhar em como demo do blog realiza esta tarefa.

uso MANY_MANY tipo de relação com a configuração de muitos para muitos relação entre Models (Uma tabela associativa é necessária para quebrar um relacionamento muitos-para-muitos em relacionamentos um-para-muitos) E agora você pode usar todas as funções relacionais de registos activos

Yii Framework - The Definitive Guide to Yii: Trabalhando com bancos de dados relacionais Active Record

A extensão a seguir faz o que quiser ... Yii Framework - Extensão: cadvancedbehavior

Uma coisa importante a nota: Em cada atualização, a extensão limpa todos os registros anteriores e cria novos. Então eu não iria utilizá-lo quando a tabela de intermediatry contém outros do que as chaves estrangeiras de dados extras.

Você pode configurar isso no mysql level..by vai visão relacional em cada mesa no phpmyadmin e fornecer necessário MANY_MANY uso condition..and relacional na classe modelo dentro relações ..

A questão é muito comum.

Normalmente componentes de dados com muitos para muitos relacionamentos aparecem sequencialmente e de forma independente. Então você só precisa fazer uma ação de inserção após o outro.

Se o seu relacionamento precisa de atualização dependente você deve utilizador SQL gatilhos no nível base de dados. Isso vai garantir a integridade dos dados e dar uma muito boa separação de lógica de negócios do aplicativo.

CREATE TRIGGER some_trigger
    AFTER UPDATE ON some_table
    ...
END IF;

Uma maneira semelhante é incapsulate dados relacionais em um modelo lógico no nível do PHP (e por exemplo manipular com 2-3 modelos AR lá) e disparadores SQL Emulate lógicos nele.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top