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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

laravel框架如何對(duì)vendor內(nèi)部的class重構(gòu)

laravel框架如何對(duì)vendor內(nèi)部的class重構(gòu)

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

2 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

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

查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個(gè)贊

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


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

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


查看完整回答
反對(duì) 回復(fù) 2019-03-15
  • 2 回答
  • 0 關(guān)注
  • 896 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)