Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
laravel-mongodb
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sinan
laravel-mongodb
Commits
89fe91f7
Unverified
Commit
89fe91f7
authored
Feb 10, 2020
by
Stas
Committed by
GitHub
Feb 10, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1954 from divine/pr_1491
[Updated PR#1491] Gets database name from DSN string
parents
1c8a84b6
0f5b1779
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
2 deletions
+13
-2
Connection.php
src/Jenssegers/Mongodb/Connection.php
+13
-2
No files found.
src/Jenssegers/Mongodb/Connection.php
View file @
89fe91f7
...
...
@@ -38,7 +38,7 @@ class Connection extends BaseConnection
$this
->
connection
=
$this
->
createConnection
(
$dsn
,
$config
,
$options
);
// Select database
$this
->
db
=
$this
->
connection
->
selectDatabase
(
$
config
[
'database'
]
);
$this
->
db
=
$this
->
connection
->
selectDatabase
(
$
this
->
getDatabaseDsn
(
$dsn
,
$config
[
'database'
])
);
$this
->
useDefaultPostProcessor
();
...
...
@@ -188,10 +188,21 @@ class Connection extends BaseConnection
// Check if we want to authenticate against a specific database.
$auth_database
=
isset
(
$config
[
'options'
])
&&
!
empty
(
$config
[
'options'
][
'database'
])
?
$config
[
'options'
][
'database'
]
:
null
;
return
'mongodb://'
.
implode
(
','
,
$hosts
)
.
(
$auth_database
?
'/'
.
$auth_database
:
''
);
}
/**
* Get database name from DSN string, if there is no database in DSN path - returns back $database argument.
* @param string $dsn
* @param $database
* @return string
*/
protected
function
getDatabaseDsn
(
$dsn
,
$database
)
{
$dsnDatabase
=
trim
(
parse_url
(
$dsn
,
PHP_URL_PATH
),
'/'
);
return
trim
(
$dsnDatabase
)
?
$dsnDatabase
:
$database
;
}
/**
* Create a DSN string from a configuration.
* @param array $config
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment