New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

toanld/laravel-model

Laravel model support multi connection format master - slaves. Connect random a slave with weight
3
Install
composer require toanld/laravel-model
Latest Version:1.1.2
PHP:^7.0
Laravel:12 · 13
Last Updated:Oct 17, 2019
Links: GitHub  ·  Packagist
Maintainer: toanld1905

Vật Giá Laravel (Lumen) Model giúp sử dụng nhiều kết nối với database theo dạng master - slaves

Tính năng

  • Connect nhiều database với mô hình master - slaves
  • Connect ngẫu nhiên 1 database slaves với trọng số được cấu hình

Sử dụng

Cấu hình file database như sau:

<?php

return [

    'default' => 'master',

    'connections' => [
        'master' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST'),
            'port' => env('DB_PORT'),
            'database' => env('DB_DATABASE'),
            'username' => env('DB_USERNAME'),
            'password' => env('DB_PASSWORD'),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => false,
        ],
        'slaves' => [
            'web31' => [
                'driver' => 'mysql',
                'read' => [
                    'host' => env('DB31_HOST'),
                ],
                'write' => [
                    'host' => env('DB_HOST'),
                ],
                'port' => env('DB_PORT'),
                'database' => env('DB_DATABASE'),
                'username' => env('DB_USERNAME'),
                'password' => env('DB_PASSWORD'),
                'charset' => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix' => '',
                'strict' => false,
                'weight' => 100,
            ],
            'web32' => [
                'driver' => 'mysql',
                'read' => [
                    'host' => env('DB32_HOST'),
                ],
                'write' => [
                    'host' => env('DB_HOST'),
                ],
                'port' => env('DB_PORT'),
                'database' => env('DB_DATABASE'),
                'username' => env('DB_USERNAME'),
                'password' => env('DB_PASSWORD'),
                'charset' => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix' => '',
                'strict' => false,
                'weight' => 50,
            ],
            'web33' => [
                'driver' => 'mysql',
                'read' => [
                    'host' => env('DB33_HOST'),
                ],
                'write' => [
                    'host' => env('DB_HOST'),
                ],
                'port' => env('DB_PORT'),
                'database' => env('DB_DATABASE'),
                'username' => env('DB_USERNAME'),
                'password' => env('DB_PASSWORD'),
                'charset' => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix' => '',
                'strict' => false,
                'weight' => 50,
            ],
            'web34' => [
                'driver' => 'mysql',
                'read' => [
                    'host' => env('DB34_HOST'),
                ],
                'write' => [
                    'host' => env('DB_HOST'),
                ],
                'port' => env('DB_PORT'),
                'database' => env('DB_DATABASE'),
                'username' => env('DB_USERNAME'),
                'password' => env('DB_PASSWORD'),
                'charset' => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix' => '',
                'strict' => false,
                'weight' => 50,
            ],
        ],
    ],
];

Các model được tạo cần kế thừa từ class VatGia\Model\Model

Cách thay đổi database

News::setConnection('master')
News::setConnection('slavse')
News::setConnection('slavse.web31')

Related Packages

syntags/lumen-route-binder

This package enables you to use laravel like Route Model Binding in Lumen

10 0
raditzfarhan/laravel-sortable

Just a simple sortable behaviour for your Laravel and Lumen eloquent model.

209 0
laraditz/saring

A simple eloquent model filter.

136 0
shiftonelabs/laravel-cascade-deletes

Adds application level cascading deletes to Eloquent Models.

901,465 165

Version History

Version Released PHP License
1.1.2 ^7.0
1.1.1 ^7.0
1.1.0 ^7.0
1.0.9 ^7.0
1.0.8 ^7.0