Fixes #15482: AR::find()->with() missing data when using string identifiers for relations

This commit is contained in:
Pavel Ivanov
2019-01-15 01:50:56 +02:00
committed by Alexander Makarov
parent 63faf5f593
commit 4333b90186
8 changed files with 189 additions and 1 deletions

View File

@ -24,6 +24,8 @@ DROP TABLE IF EXISTS `dossier`;
DROP TABLE IF EXISTS `employee`;
DROP TABLE IF EXISTS `department`;
DROP TABLE IF EXISTS `storage`;
DROP TABLE IF EXISTS `alpha`;
DROP TABLE IF EXISTS `beta`;
DROP VIEW IF EXISTS `animal_view`;
DROP TABLE IF EXISTS `T_constraints_4` CASCADE;
DROP TABLE IF EXISTS `T_constraints_3` CASCADE;
@ -209,6 +211,18 @@ CREATE TABLE `storage` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `alpha` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`string_identifier` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `beta` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`alpha_string_identifier` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE VIEW `animal_view` AS SELECT * FROM `animal`;
INSERT INTO `animal` (`type`) VALUES ('yiiunit\data\ar\Cat');
@ -265,6 +279,23 @@ INSERT INTO `dossier` (id, department_id, employee_id, summary) VALUES (1, 1, 1,
INSERT INTO `dossier` (id, department_id, employee_id, summary) VALUES (2, 2, 1, 'Brilliant employee.');
INSERT INTO `dossier` (id, department_id, employee_id, summary) VALUES (3, 2, 2, 'Good employee.');
INSERT INTO `alpha` (id, string_identifier) VALUES (1, '1');
INSERT INTO `alpha` (id, string_identifier) VALUES (2, '1a');
INSERT INTO `alpha` (id, string_identifier) VALUES (3, '01');
INSERT INTO `alpha` (id, string_identifier) VALUES (4, '001');
INSERT INTO `alpha` (id, string_identifier) VALUES (5, '2');
INSERT INTO `alpha` (id, string_identifier) VALUES (6, '2b');
INSERT INTO `alpha` (id, string_identifier) VALUES (7, '02');
INSERT INTO `alpha` (id, string_identifier) VALUES (8, '002');
INSERT INTO `beta` (id, alpha_string_identifier) VALUES (1, '1');
INSERT INTO `beta` (id, alpha_string_identifier) VALUES (2, '01');
INSERT INTO `beta` (id, alpha_string_identifier) VALUES (3, '001');
INSERT INTO `beta` (id, alpha_string_identifier) VALUES (4, '001');
INSERT INTO `beta` (id, alpha_string_identifier) VALUES (5, '2');
INSERT INTO `beta` (id, alpha_string_identifier) VALUES (6, '2b');
INSERT INTO `beta` (id, alpha_string_identifier) VALUES (7, '2b');
INSERT INTO `beta` (id, alpha_string_identifier) VALUES (8, '02');
/**
* (MySQL-)Database Schema for validator tests