sql >> Databasteknik >  >> RDS >> Mysql

Dynamisk e-postkonfiguration med värden från databasen [Laravel]

Jag har kämpat i tre dagar med det här problemet och till slut kom jag på ett sätt att lösa det.

Först skapade jag en tabell mails och fyllde den med mina värden. Sedan skapade jag en leverantör MailConfigServiceProvider.php

<?php

namespace App\Providers;

use Config;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\ServiceProvider;

class MailConfigServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        if (\Schema::hasTable('mails')) {
            $mail = DB::table('mails')->first();
            if ($mail) //checking if table is not empty
            {
                $config = array(
                    'driver'     => $mail->driver,
                    'host'       => $mail->host,
                    'port'       => $mail->port,
                    'from'       => array('address' => $mail->from_address, 'name' => $mail->from_name),
                    'encryption' => $mail->encryption,
                    'username'   => $mail->username,
                    'password'   => $mail->password,
                    'sendmail'   => '/usr/sbin/sendmail -bs',
                    'pretend'    => false,
                );
                Config::set('mail', $config);
            }
        }
    }
}

Och sedan registrerade den i config\app.php

App\Providers\MailConfigServiceProvider::class,


  1. Hur infogar jag javascript i mysql-databasen?

  2. Hur ser jag högprecisionsfrågetider i mysql-kommandoraden?

  3. Hur LOG() fungerar i MariaDB

  4. Vilka är de olika sätten att infoga data i SQL Server Table - SQL Server / TSQL Tutorial Del 100