'required|integer|exists:accounts,id', 'photo_id' => 'required|integer|exists:photos,id', 'gift_id' => 'required|integer|exists:gifts,id', ]; } /** * Link a photo to a gift. * * @param array $data */ public function execute(array $data) { $this->validate($data); $photo = Photo::where('account_id', $data['account_id']) ->findOrFail($data['photo_id']); $gift = Gift::where('account_id', $data['account_id']) ->findOrFail($data['gift_id']); $gift->contact->throwInactive(); $gift->photos()->syncWithoutDetaching([$photo->id]); return $gift; } }