App\Ninja\Repositories\TaskRepository::find PHP Method

find() public method

public find ( $clientPublicId = null, $filter = null )
    public function find($clientPublicId = null, $filter = null)
    {
        $query = \DB::table('tasks')->leftJoin('clients', 'tasks.client_id', '=', 'clients.id')->leftJoin('contacts', 'contacts.client_id', '=', 'clients.id')->leftJoin('invoices', 'invoices.id', '=', 'tasks.invoice_id')->where('tasks.account_id', '=', Auth::user()->account_id)->where(function ($query) {
            $query->where('contacts.is_primary', '=', true)->orWhere('contacts.is_primary', '=', null);
        })->where('contacts.deleted_at', '=', null)->where('clients.deleted_at', '=', null)->select('tasks.public_id', \DB::raw("COALESCE(NULLIF(clients.name,''), NULLIF(CONCAT(contacts.first_name, ' ', contacts.last_name),''), NULLIF(contacts.email,'')) client_name"), 'clients.public_id as client_public_id', 'clients.user_id as client_user_id', 'contacts.first_name', 'contacts.email', 'contacts.last_name', 'invoices.invoice_status_id', 'tasks.description', 'tasks.is_deleted', 'tasks.deleted_at', 'invoices.invoice_number', 'invoices.public_id as invoice_public_id', 'invoices.user_id as invoice_user_id', 'invoices.balance', 'tasks.is_running', 'tasks.time_log', 'tasks.created_at', 'tasks.user_id');
        if ($clientPublicId) {
            $query->where('clients.public_id', '=', $clientPublicId);
        }
        if (!Session::get('show_trash:task')) {
            $query->where('tasks.deleted_at', '=', null);
        }
        if ($filter) {
            $query->where(function ($query) use($filter) {
                $query->where('clients.name', 'like', '%' . $filter . '%')->orWhere('contacts.first_name', 'like', '%' . $filter . '%')->orWhere('contacts.last_name', 'like', '%' . $filter . '%')->orWhere('tasks.description', 'like', '%' . $filter . '%');
            });
        }
        return $query;
    }