MySQL Column definition for hasMany relationship i

2019-08-16 01:03发布

问题:

I have an employees table defined with their alphanumeric employee_id (currently 9-characters but can increase upto 15) as the key:

CREATE TABLE employee (
    emp_id VARCHAR(15) NOT NULL PRIMARY KEY,
    emp_name VARCHAR(255) NOT NULL,
    ...
);

Now, I've to create a Group entity where each employee can be part of multiple groups:

CREATE TABLE group (
    group_id VARCHAR(15) NOT NULL PRIMARY KEY,
    group_name VARCHAR(255) NOT NULL,
    employees ????, <--- how should this be defined?
    FOREIGN KEY fk_emp(employees) REFERENCES employee(emp_id)
);

I can create the controller and view for this using gii or manually, without an issue. The group creation/update form will have a multi-select for employees.

As an alternative, does Yii2 support sets?

回答1:

Like this:

You link the group and employee tables together via a third table. This allows you to link employees into many groups, and groups to link to many employees as well.



标签: php mysql yii2