Edit File: SubscriptionService.php
<?php namespace App\Services\Entity; use App\Models\Subscription; use App\Models\User; class SubscriptionService extends BaseService { /** * Initializes the SubscriptionService class. * * @param Subscription $subscription */ public function __construct(Subscription $subscription) { $this->model = $subscription; } public function index($id = null) { if (request()->ajax()) { $subscriptions = Subscription::activeDate() ->with(['user:id,first_name,last_name,phone,email,country_code']) ->search(request('searchArray')) ->reorder('created_at' , 'desc') ->paginate(30); $html = view('admin.subscriptions.table', compact('subscriptions'))->render(); return response()->json(['html' => $html]); } return view('admin.subscriptions.index'); } public function create() { $users = User::select('id', 'first_name', 'last_name')->get(); return view('admin.subscriptions.create', compact('users')); } public function store($request) { $validatedData = $request->validated(); $subscriptions = []; foreach ($validatedData['user_ids'] as $user_id) { $subscriptionData = collect($validatedData)->except('user_ids')->toArray(); $subscriptions[] = array_merge($subscriptionData, [ 'user_id' => $user_id, 'created_at' => now(), 'updated_at' => now(), ]); } Subscription::insert($subscriptions); return ['msg' => 'success', 'url' => route('admin.subscriptions.index')]; } public function switchActive($request) { $subscription = Subscription::find($request['id']); $subscription->update(['is_active' => !$subscription->is_active]); return response()->json(['msg' => 'success', 'is_active' => $subscription->is_active]); } }
Back to File Manager