2016-09-16 45 views
0

我不知道是否有一种方法可以在没有foreach循环的情况下获取唯一的项目属性。因为我有一个查询在大多数情况下只有一个项目在集合中,我需要改变数据透视表中的状态,只有这种情况下,我不知道是否有一些优雅的方式做到这一点没有foreach循环。这是我讲的情况:Laravel - 从没有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

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

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