覆盖模型的表前缀

nat*_*tas 5 laravel eloquent laravel-5.2

您好我在config/database.php中有一个前缀(mysql),如下所示:

     'prefix' => 'myprefix_',
Run Code Online (Sandbox Code Playgroud)

但是,我只需要一个模型,使用不同的前缀,如:

     protected $table = 'otherprefix_mytable';
Run Code Online (Sandbox Code Playgroud)

通过这种方式laravel寻找"myprefix_otherprefix_mytable".

有帮助吗?

KuK*_*KeC 10

在你的app/config/database.php2个不同的连接,如

'connections' => array(

        # first prefix
        'mysql1' => array(
            'driver'    => 'mysql',
            'host'      => 'host1',
            'database'  => 'database1',
            'username'  => 'user1',
            'password'  => 'pass1'
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => 'prefix1',
        ),

        # second prefix
        'mysql2' => array(
            'driver'    => 'mysql',
            'host'      => 'host1',
            'database'  => 'database1',
            'username'  => 'user1',
            'password'  => 'pass1'
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => 'prefix2',
        ),
    ),
Run Code Online (Sandbox Code Playgroud)

然后在模型中你可以使用不同的连接

class SomeModel extends Eloquent {    
    protected $connection = 'mysql2';    
}
Run Code Online (Sandbox Code Playgroud)

有关更多帮助,请检查

  • 这如何影响使用不同前缀的关系?尽管它是相同的数据库,但它使用不同的连接。 (2认同)