protected function findHasOneOrMany($associatedClass, $foreignKey = null, $mappingId = null)
    {
        $baseTable = $this->getTableName();
        $foreignKey = $this->buildForeignKeyName($foreignKey, $baseTable);

        $whereValue = '';
        $whereValue = $this->{$this->primaryKey};

        if (!is_null($mappingId)) {
            $whereValue = $this->{$mappingId};
        }

        /*
         | We will build query and return Query Builder object
         | to the user, to either make use of findAll() or findOne() method
         | to get data
         */
        return (new $associatedClass())->where($foreignKey, '=', $whereValue);
    }