Laravel 5.1 - 在 3 table 秒之间枢转 table

Laravel 5.1 - pivot table between 3 tables

我对 Laravel 比较陌生,在过去 3 周的实习期间一直在研究它,但现在我遇到了问题。

我有 3 个 table:用户、出价和工作。我希望用户能够对工作出价。

我的table的基本结构如下:

Users:
id | name | email | description

Jobs:
id | title | description

Bids:
id | proposal

需要满足以下条件:

  1. 一个用户可以竞标多个职位,但他们只能竞标每个职位一次。
  2. 一份工作可以有很多用户的多次出价。
  3. 每个出价仅link发送给一位用户和一份工作。

示例: 用户 1 对工作 1 提出了 300 英镑的建议。这将创建一个 ID 为 1 的出价和 300 英镑的建议。数据透视表 table 将包含用户 ID(1)、工作 ID(1) 和出价 ID(1) 以及默认设置为待处理的状态。

我还希望 link 的 table 全部 3 具有状态。我创建了一个如下:

bid_job_user:

bid_id | user_id | job_id | status

但是关系全错了,所以如果我想更新状态,同步方法等将无法正常工作。 感谢任何帮助,即使这正是我应该如何定义我的关系。

我不能 link 用户在 table(job_user) 中的工作,因为这已经在其他地方定义为经理(用户)可以创建的多对多关系许多工作和职位可以由许多经理创造。

如果您需要更多信息,请询问。

要创建出价 table(根据评论),您可以将其视为交叉实体。

<!-- User.php -->
//should recognize user_id,job_id by itself
public function bidsMade() {
  return $this->belongsToMany('App\Job','bids')->withPivot('status','proposal');
}

<!-- Job.php -->
//should recognize user_id,job_id by itself
public function bidsRecieved() {
  return $this->belongsToMany('App\User','bids')->withPivot('status','proposal');
}