Gaurav
Gaurav

Reputation: 367

MySQL Column definition for hasMany relationship in Yii2

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?

Upvotes: 0

Views: 130

Answers (1)

Nic3500
Nic3500

Reputation: 8591

Like this:

enter image description here

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.

Upvotes: 3

Related Questions