我想知道是否有办法在没有foreach循环的情况下获得唯一的项属性。由于我有一个查询,在大多数情况下,集合中只有一个项目,我需要更改数据透视表中的状态仅适用于那种情况,我想知道是否有一些优雅的方式来做这个没有foreach循环。这就是我所说的情况:
$opponents = $quiz
->players()
->where('id', '!=', $player->id)
->get();
if ($opponents->count() < 2) {
$quiz->status = 'finished';
$quiz->save();
foreach ($opponents as $opponent) {
$quiz->players()->updateExistingPivot($opponent->id, ['status' => 'dropped']);
}
}
答案 0 :(得分:1)
你可以像这样使用函数first():
$quiz->players()->updateExistingPivot($opponents->first()->id, ['status' => 'dropped']);