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
需要满足以下条件:
- 一个用户可以竞标多个职位,但他们只能竞标每个职位一次。
- 一份工作可以有很多用户的多次出价。
- 每个出价仅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');
}
我对 Laravel 比较陌生,在过去 3 周的实习期间一直在研究它,但现在我遇到了问题。
我有 3 个 table:用户、出价和工作。我希望用户能够对工作出价。
我的table的基本结构如下:
Users:
id | name | email | description
Jobs:
id | title | description
Bids:
id | proposal
需要满足以下条件:
- 一个用户可以竞标多个职位,但他们只能竞标每个职位一次。
- 一份工作可以有很多用户的多次出价。
- 每个出价仅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');
}