I am currently handling a "multi db on the fly swap connections" sort of project.
So what I end up doing is the following:
$connectionName = uniqid();
\Config::set('database.connections.' . $connectionName, [/** db options **/]);
\Artisan::call('migrate', ['--database' => $connectionName]);
or
$connectionName = uniqid();
\Config::set('database.connections.' . $connectionName,[/** db options **/]);
$user = new User();
$user->setConnection($connectionName);
$user->first_name = 'Daisy';
$user->last_name = 'Demo';
$user->is_not_being_ignored_by_santa_this_year = 0;
$user->email = //and so so on
$user->save();
For the Artisan call I sort of understand why Laravel needs to refer to a connection in a string, saved in a config array.
However on the Eloquent Model itself I find it somehow cumbersome to have to write my DB connection into a config array. So it can be picked up by the "Singleton approach" \Config::get().. in the Model.
Is there something more elegant, where I can inject a configuration directly without having to write it into some super global ?
Or am I missing something ?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire