Php 为什么我的时间戳列无法更新或创建

Php 为什么我的时间戳列无法更新或创建,php,mysql,Php,Mysql,我已经创建了如下表: /** * Run the migrations. * * @return void */ public function up() { Schema::create('coverage_area', function (Blueprint $table) { $table->bigIncrements('id'); $table->unsigned

我已经创建了如下表:

 /**
     * Run the migrations.
     *
     * @return void
     */
    public function up() {
        Schema::create('coverage_area', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('village_id');
            $table->unsignedBigInteger('hub_id');
            $table->decimal('price', 15, 2);
            $table->boolean('status')->comment('1=active,0=inactive')->default(1);
            $table->timestamps();

            $table->foreign('village_id')->references('id')->on('villages');
            $table->foreign('hub_id')->references('id')->on('hub');
        });

        $villages = Village::get()->toArray();
        foreach ($villages as $key => $village) {
            $village_insert = [
                'village_id' => $village['id'],
                'hub_id' => 1,
                'price' => $village['price'],
                'status' => $village['status'],
                'created_at' => date('Y-m-d H:i:s'),
                'updated_at' => date('Y-m-d H:i:s'),
            ];
            DB::table('coverage_area')->insert($village_insert);
        }

        Schema::table('villages', function (Blueprint $table) {
            $table->dropColumn('price');
        });
    }
这可以创建在创建和更新的列

但是当我使用导入时,比如创建新数据或使用excel中的代码更新数据

  public function collection(Collection $rows)
    {   
        $import_error = session('import_error', []);
        $import_success = session('import_success', []);
        //$villages= Village::select('id','name')->get()->toArray();
        $data_insert = [];
        foreach ($rows as $row)
        {   

            $price =null;
            if (is_numeric($row['price'])) {
              $price=$row['price'];
            }else{
            $priceConvert = str_replace("Rp","",$row['price']);
            $priceConvert = str_replace(".","",$priceConvert);
            $price = (int)$priceConvert;
            }
            //$price = 
            /*if (is_numeric($row['price'])) {
              $price=$row['price'];
              //dd($price);
              continue;
            }*/
           // dd($price);
            $village_id = null;
           // dd($row['kelurahan']);
            $village_name = $row['kelurahan'];
            $district_name = $row['kecamatan'];
            $village_id = DB::table('villages')
                    ->join('districts', 'villages.district_id', '=', 'districts.id')
                    ->where('villages.name', $village_name)
                    ->where('districts.name', $district_name)
                    ->value('villages.id');
            //dd($village_id);
           /* $exist = array_values(array_filter(
                $villages,
                function ($e) use ($row) {
                    return $e['name'] == $row['villages'];
                }
            ));*/
             if (!is_null($village_id)) {
                 $id = null;
                 $hub_id = null;
                if (!empty(trim($row['id']))) {
                $id = General::decode($row['id']);
               }
                if (!empty(trim($row['hub_id']))) {
                $hub_id = General::decode($row['hub_id']);
                }
                 $data_insert[] = [
                'id' => $id,
                'village_id'=>$village_id,
                'hub_id'=>$hub_id,
                'price' => $row['price'],
                'status' => $row['status'],
                ];
                $import_success['Coverage_area'][] = [
               'village_id'=>$village_id
              ];
             }else {
                $import_error['coverage_area'][] = [
                  'kelurahan'=>$row['kelurahan'],
                  'error'=>"Village atau District \"".$row['kelurahan']."\" not exist",
                ];
            }
           
        }
        session(['import_error' => $import_error]);
        session(['import_success' => $import_success]);
        CoverageArea::upsert($data_insert,'id',['price','status']);
    }
是的,数据可以导入、创建或更新到我的数据库mysql。。但当我看到at列在创建时和更新时,像这样更改它有任何问题


当我在不更新时间创建新数据时,以及当我在不更新时间更新更新数据时。。。为什么会这样?

您的CoverageArea模型中有
$timestamps=false
吗?实际插入是通过
DB::table('coverage\u area')->insert()方法完成的,我们对此一无所知。这是自制代码还是某个著名的框架?