第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

laravel框架如何對vendor內部的class重構

laravel框架如何對vendor內部的class重構

PHP
喵喵時光機 2019-02-28 05:06:35
舉個簡單的例子laravel框架中的migration功能class Blueprint中集成了一個function timestamps 可以為數(shù)據(jù)庫添加兩個字段,不過會使用數(shù)據(jù)庫格式為timestamp,想要改造一下這個function,例如我想要修改成如下:public function timestamps($precision = 0)     {        $this->integer('created_at')->nullable();        $this->integer('updated_at')->nullable();        //或集成其他字段     }我嘗試過1.在class Blueprint中直接改,但是考慮到下次的composer update 就會將這個修改覆蓋掉。2.寫一個繼承,在繼承內重構這個function,但是在執(zhí)行 make:migation時報錯3.之前看到一個方法 用trial insteadof 不過好像得是 Blueprint 同為 trail才可以想請問一下大家有什么方法可以解決!
查看完整描述

1 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

針對第二種方案,你可以在調用Schema::create()之前,先設置好你那個自定義的Blueprint

Schema::blueprintResolver(function($table, $callback, $prefix) {    return new EnhancedBlueprint($table, $callback, $prefix);
});
Schema::create('xxx', function(Blueprint $table) {    //這里的Blueprint實例實際上就是EnhancedBlueprint});


----------
修改后

$schema = Schema::getFacadeRoot();
$schema->blueprintResolver(function($table, $callback, $prefix) {    return new EnhancedBlueprint($table, $callback, $prefix);
});
$schema->create('xxx', function(Blueprint $table) {
});


查看完整回答
反對 回復 2019-03-16
  • 1 回答
  • 0 關注
  • 397 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號