I'm relatively new to Laravel and have been working on it in my internship for the last 3 weeks however now I have a problem.
I have 3 tables: Users, Bids, and Jobs. I want a user to be able to place a bid on the job.
The basic structure of my tables is as follows:
Users:
id | name | email | description
Jobs:
id | title | description
Bids:
id | proposal
The following criteria need to be met:
- A user can bid on many jobs, however they can only bid on each job once.
- A job can have many bids from many users.
- Each bid is only linked to one user and one job.
Example: User 1 makes a proposal of £300 on Job 1. This creates a bid with id 1 and proposal £300. The pivot table will contain the user id(1), the job id(1) and the bid id(1) along with the status which by default will be set to Pending.
I also want the table that links all 3 to have a status. I created one as follows:
bid_job_user:
bid_id | user_id | job_id | status
But the relationships were all wrong so syncing methods etc wouldn't work correctly if I wanted to update a status. Any help is appreciated, even if it is just how I should define my relationships.
I cannot link the user to the job in a table(job_user) as this is already defined elsewhere as a many to many relationship as managers(users) can create many jobs and jobs can be created by many managers.
If you need any more information please ask.
To create the bid table (As per comments) you could treat it as a intersection entity.