app\models\Interaction::batchLike PHP Метод

batchLike() публичный статический Метод

Like several songs at once.
public static batchLike ( array $songIds, User $user ) : array
$songIds array
$user User
Результат array
    public static function batchLike(array $songIds, User $user)
    {
        $result = [];
        foreach ($songIds as $songId) {
            $interaction = self::firstOrCreate(['song_id' => $songId, 'user_id' => $user->id]);
            if (!$interaction->exists) {
                $interaction->play_count = 0;
            }
            $interaction->liked = true;
            $interaction->save();
            event(new SongLikeToggled($interaction));
            $result[] = $interaction;
        }
        return $result;
    }

Usage Example

Пример #1
0
 /**
  * Like several songs at once as the currently authenticated user.
  *
  * @param BatchInteractionRequest $request
  *
  * @return \Illuminate\Http\JsonResponse
  */
 public function batchLike(BatchInteractionRequest $request)
 {
     return response()->json(Interaction::batchLike((array) $request->input('songs'), $request->user()));
 }