我有一个功能,我可以接受投标,当我接受一个投标,其他投标相同的项目,得到一个反向更新。
解释
bid 1 -> accept = y
[bid 2, bid 3, ....] -> accept = r到目前为止,我只能更改bid 1状态,但是bid 2, 3...不知道如何获得它们。

码
这是我的当前代码,它更改bid 1状态(接受列).
public function bidaccepted(Request $request, $id)
{
$bid = Bid::findOrFail($id);
$bid->accepted = 'y';
$bid->save();
}叶片
<a href="{{route('bidaccepted', $bid->id)}}" class="text-success"><i class="fa fa-check"></i> Accept This Bid</a>路由
Route::get('/bidaccepted/{id}', 'Front\BidChatController@bidaccepted')->name('bidaccepted');有什么建议吗?
发布于 2018-10-13 04:31:33
首先,与你的问题无关,我会建议你遵循PSR的惯例,投标应该是bidAccepted。
至于你的问题:
public function bidAccepted(Request $request, $id)
{
$bid = Bid::findOrFail($id);
$bid->accepted = 'y';
$bid->save();
// The part you
Bid::where('id', '!=', $id)
->where('project_id', $bid->project_id)
->update(['accepted' => 'n']);
}我不太喜欢你选择代表你的数据和项目接受投标的方式,我也不是我的解决方案的忠实粉丝:)但是关于你的问题,我的答案应该是工作的。
发布于 2018-10-13 06:58:59
为什么不这样做呢
在表迁移中,为接受为null的列添加一个默认值。
当一个出价被接受时,将接受出价的列更新为y,而rest (其中接受= null)自动被视为不接受。
如果您想要更改接受状态,您必须将旧出价的已接受列状态更改为null,然后将新列状态更新为y。
https://stackoverflow.com/questions/52789118
复制相似问题