Php 如何在Yii中自动创建关系?

Php 如何在Yii中自动创建关系?,php,yii,Php,Yii,有没有办法自动创建关系 CREATE TABLE `user` (`id` BIGINT AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB; CREATE TABLE `profile` (`id` BIGINT AUTO_INCREMENT, `user_id` BIGINT,

有没有办法自动创建关系

CREATE TABLE `user` (`id` BIGINT AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB;


CREATE TABLE `profile` (`id` BIGINT AUTO_INCREMENT, `user_id` BIGINT, `photo` VARCHAR(255), INDEX `user_id_idx` (`user_id`), PRIMARY KEY(`id`)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB;


ALTER TABLE `profile` ADD CONSTRAINT `profile_user_id_user_id` FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE;

当我通过gii生成模型时,它不会建立关系。

首先通过在所需字段上添加外键在数据库中创建关系。如果在完成此操作后让Gii创建一个模型,它将识别外键,并根据您设置的外键将关系添加到模型中


如果没有,请在使用Gii创建模型后发布模型。

在数据库中的表之间创建关系。确保主键和外键已正确定义。数据库准备好后,使用gii工具创建模型,它将自动创建关系。但一定要检查,因为有时它会弄乱关系,尤其是1:n,n:n关系,您可能需要进行一些编辑,但大多数情况下它都能正常工作。另外,如果您使用的是mysql,请确保表引擎是innodb,否则关系将无法工作。

我已经添加了关系,它无法工作。ALTER TABLE profile ADD CONSTRAINT profile\u user\u id\u user\u id外键user\u id引用DELETE级联上的userid;你能张贴你的模型吗?哪个是由Gii创建的?