MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/www/mpl.imenso.co/app/Typeahead/VenueTypeahead.php
<?php

namespace App\Typeahead;

use App\Models\User;
use Auth;
use DB;

class VenueTypeahead extends TypeaheadBuilder
{
    public function get($total = 10)
    {
        $query = User::where('type_id', 1)
            ->where('venue_name', 'LIKE', '%' . $this->search_string . '%');

        if ($this->exclude) {
            $query = $query->whereNotIn('id', $this->exclude);
        }

        $user = Auth::user();

        if ($this->connected_only == true) {
            if ($user->isVenue()) {
                $user_member_connections = [];
            } elseif ($user->isBand()) {
                $user_member_connections = DB::table('artist_venue_connections')->where('artist_id', $user->id)->pluck('venue_id');
            } elseif ($user->isFan()) {
                $user_member_connections = DB::table('fan_venue_connections')->where('fan_id', $user->id)->pluck('venue_id');
            } elseif ($user->isPromoter()) {
                $user_member_connections = DB::table('promoter_venue_connections')->where('promoter_id', $user->id)->pluck('venue_id');
            } else {
                $user_member_connections = [];
            }

            $query = $query->whereIn('id', $user_member_connections);
        }

        $this->data = $query->take($total)
            ->pluck('venue_name', 'id');

        return $this->output();
    }
}