alex-oliveira/ao-bank-accounts

Laravel 银行账户资源。

dev-master 2017-05-30 06:33 UTC

This package is auto-updated.

Last update: 2024-09-25 22:29:00 UTC


README

1) 安装

$ composer require alex-oliveira/ao-bank-accounts

2) 配置 "config/app.php" 文件

'providers' => [
    /*
     * Vendor Service Providers...
     */
    AoBankAccounts\ServiceProvider::class,
],

3) 发布迁移

$ php artisan vendor:publish
$ composer dump

4) 种植数据库

$ php artisan db:seed

利用

迁移

向上

public function up()
{
    AoBankAccounts()->schema()->create('users');
}

与向上相同

public function up()
{    
    Schema::create('ao_ba_bank_accounts_x_users', function (Blueprint $table) {
        $table->integer('user_id')->unsigned();
        $table->foreign('user_id', 'fk_users_x_ao_ba_bank_accounts')->references('id')->on('users');
        
        $table->bigInteger('bank_account_id')->unsigned();
        $table->foreign('bank_account_id', 'fk_ao_ba_bank_accounts_x_users')->references('id')->on('ao_ba_bank_accounts');
        
        $table->primary(['user_id', 'bank_account_id'], 'pk_ao_ba_bank_accounts_x_users');
    });
}

向下

public function down()
{
    AoLogs()->schema()->drop('users');
}

与向上相同

public function down()
{    
    Schema::dropIfExists('ao_ba_bank_accounts_x_users');
}

模型

namespace App\Models;

use AoBankAccounts\Models\BankAccount;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{

    /**
     * @return BankAccount[]|\Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    public function bankAccounts()
    {
        return $this->belongsToMany(BankAccount::class, AoBankAccounts()->schema()->table($this->getTable()));
    }
    
}

与向上相同

return $this->belongsToMany(BankAccount::class, 'ao_ba_bank_accounts_x_users');

控制器

namespace App\Http\Controllers\Users;

use AoBankAccounts\Controllers\AoBankAccountsController;
use App\Models\User;

class CommentsController extends AoBankAccountsController
{

    protected $dynamicClass = User::class;
    
}

路由

Route::group(['prefix' => 'users', 'as' => 'users.'], function () {

    AoBankAccounts()->router('Users\BankAccountsController')->foreign('user_id')->make();
    .
    .
    .
    
});

检查路由

$ php artisan route:list