【发布时间】:2022-01-20 22:15:59
【问题描述】:
我遇到了一个“问题”。我正在尝试使用以下代码更新一个查询中的多个列:
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['is_Canceled' => 1]);
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['cancel_Date' => $date]);
它工作正常,但感觉没有必要进行两次完整查询,但是当我这样尝试时:
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['is_Canceled' => 1])
->update(['cancel_Date' => $date]);
我收到错误call to a member function update() on int 我还尝试将此语句直接包含在update() 语句中:
$date = Carbon::now()->toDateString();
我也试过这个:
Bewerbungen::query()
->where('Stellenanzeigen_ID', $bewerbung->Stellenanzeigen_ID)
->where('bewerber_email', '!=', $bewerbung->bewerber_email)
->update(['is_Canceled' => 1], ['cancel_Date' => $date]);
这也不起作用,因为第二个 [] 是灰色的。 cancel_Date 的数据类型为 date
两个单独的语句可以正常工作,但我很好奇是否可以以某种方式保存一些代码。
【问题讨论】:
-
尝试:->update(['is_Canceled' => 1, 'cancel_Date' => $date])