'01_03', 2 => '01_03', 3 => '01_03', 4 => '04_06', 5 => '04_06', 6 => '04_06', 7 => '07_09', 8 => '07_09', 9 => '07_09', 10 => '10_12', 11 => '10_12', 12 => '10_12', ]; public function __construct(array $attributes = []) { parent::__construct($attributes); if (isset($attributes['channel']) && $attributes['channel'] > 0) { $channel = $attributes['channel']; $month = (int)substr($channel,4,2); $channel = substr($channel,0,4).$this->month[$month]; $this->setTableById($channel); }elseif (isset($attributes['process']) && $attributes['process'] > 0){ $process = $attributes['process']; $month = (int)substr($process,4,2); $process = substr($process,0,4).$this->month[$month]; $this->setTableByProcess($process); } } public function setTableById($channel) { if ($channel > 0) { $tb = $this->table.'_' . (string)$channel; $this->createTable($tb); $this->setTable($tb); } } //创建表 private function createTable($table){ if(! empty($table) && ! Schema::hasTable($table)){ //执行建表语句 DB::statement('create table '. $table .' like orders_product_bom_process'); } } public function setTableByProcess($process) { if ($process > 0) { $tb = $this->table.'_' . (string)$process; $this->setTable($tb); } } public function is_table_isset(){ if(Schema::hasTable($this->table)) return true; return false; } }