Laravel - 从没有foreach循环的集合中获取唯一的项属性

时间:2016-09-16 07:19:40

标签: php laravel eloquent

我想知道是否有办法在没有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']);
            }            
         }

1 个答案:

答案 0 :(得分:1)

你可以像这样使用函数first():

 $quiz->players()->updateExistingPivot($opponents->first()->id, ['status' => 'dropped']);