Làm cách nào để thay đổi giá trị mặc định trong laravel?

Ở đây chúng tôi giải thích cách thay đổi giá trị mặc định của enum khi bảng được tạo trong quá trình di chuyển laravel. Thay đổi giá trị mặc định của loại cột enum trong laravel 8, laravel 9. Cách đặt giá trị cột enum mặc định trong laravel

Giá trị cột enum của Laravel không thay đổi sau khi tạo bảng. Cách đặt giá trị cột enum mặc định null sau bảng được tạo bởi quá trình di chuyển


Tạo di chuyển với cột kiểu dữ liệu enum

Chúng tôi tạo một di chuyển mới cho bảng đơn đặt hàng trong đó cột loại enum 'trạng thái' với giá trị mặc định 'đang chờ xử lý'

id();
            $table->biginteger('product_id');
            $table->float('price', 8,2);
            $table->enum('status', ['pending','success','cancelled'])->default('pending');
            $table->timestamps();
        });
    }
  
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('orders');
    }
};

đọc thêm. Di chuyển để thay đổi cột kiểu dữ liệu số nguyên thành float


Thay đổi giá trị mặc định của cột trạng thái enum null

Đây là một ví dụ để thay đổi giá trị mặc định của cột enum thành null khi di chuyển. Di chuyển Laravel không cung cấp bất kỳ phương thức nào để thay đổi cột enum, vì vậy, chúng tôi sử dụng câu lệnh DB tùy chỉnh cho cột loại enum chnage

Trong bài đăng này, tôi sẽ chia sẻ một ví dụ về cách thêm các giá trị mô hình hùng hồn mặc định trên Laravel 8. Nếu bạn muốn thêm giá trị mặc định của giá trị trường mô hình được thêm tự động mỗi khi bạn lưu bản ghi

 

Đây là một trong những tính năng thú vị của Laravel có thể thêm giá trị mặc định khi chúng ta tạo một phiên bản mô hình. Điều này rất hữu ích để giúp làm sạch mã của chúng tôi vì chúng tôi không cần chuyển các tham số bổ sung cho Mô hình của mình nhưng nó sẽ tự động thêm vào

 

Với ví dụ bên dưới, hãy tạo quá trình di chuyển của bạn trước nhưng bạn có thể bỏ qua nó

id();
            $table->string('title');
            $table->string('description')->nullable();
            $table->text('body');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

 

Sử dụng thuộc tính $attributes, bạn có thể xác định các giá trị mặc định cho mô hình của mình

 

Dưới đây là ví dụ bên dưới để thêm các giá trị mô hình hùng hồn mặc định

 'Default Title',
    ];

    //...
}

 

Bây giờ hãy kiểm tra mã của chúng tôi với mặc định và không có

 

Trong các tuyến đường/web của chúng tôi. php chúng tôi đã thêm mã bên dưới. Điều này chỉ dành cho mục đích thử nghiệm

 'post body'
    ]);

    Post::create([
        'title' => 'Manually title',
        'body' => 'post body'
    ]);

    $posts = Post::all();

    foreach($posts as $post) {
        echo 'title: '. $post->title . ', body: ' . $post->body . '
'; } });

 

Như bạn có thể thấy trong lần tạo mô hình đầu tiên, chúng tôi chỉ chuyển thuộc tính body có giá trị nhưng trong lần tạo mô hình thứ hai, chúng tôi đã bao gồm tiêu đề và nội dung với mỗi giá trị

Trong blog này, tôi muốn chia sẻ với các bạn cách thêm giá trị mặc định của cột trong quá trình di chuyển laravel. Chúng ta sẽ nói về việc di chuyển laravel trong giá trị mặc định của cột. nếu bạn muốn đặt giá trị mặc định của cột trong bảng bằng cách sử dụng di chuyển trong laravel

di chuyển laravel cung cấp mặc định() và nullable() nơi bạn có thể đặt giá trị mặc định của cột đó. ở đây tôi sẽ cung cấp cho bạn các ví dụ đơn giản về cách thêm giá trị mặc định là null, boolean, thời gian hiện tại, v.v. bạn có thể dễ dàng thiết lập với phiên bản laravel 6, laravel 7 và laravel 8

Ở đây tôi sẽ cung cấp cho bạn cách dễ dàng và đơn giản để đặt giá trị mặc định của cột bảng bằng cách sử dụng di chuyển trong laravel. Vì vậy, hãy xem các ví dụ đơn giản dưới đây

Làm cách nào để đặt giá trị mặc định 0 trong Laravel?

Lược đồ. dropIfExists('items'); .
Giá trị mặc định của Laravel Migration Null. $table->string('title')->nullable();
Giá trị mặc định của Laravel Migration Boolean. $table->boolean('displayed')->default(0);
Giá trị mặc định của Laravel Migration Ngày hiện tại. .
Laravel Migration Giá trị mặc định với Cập nhật

Làm cách nào để đặt giá trị mặc định cho cột trong Laravel?

Các cách tiếp cận khác nhau để giải bài toán Đặt giá trị mặc định cho cột trong Laravel Model được tóm tắt trong đoạn mã sau. Bạn có thể sử dụng phương thức thay đổi (). Lược đồ. table('users', function ($table) { $table->integer('active')->default(0)->change(); });

Làm cách nào để đặt giá trị mặc định null trong quá trình di chuyển Laravel?

Bạn có thể làm 1/2 việc. .
làm cho trường vô giá trị. $table->string('couponcode')->default('default')->nullable();
đảm bảo bạn lọc ra các giá trị rỗng khi tạo phiếu giảm giá mới. Phiếu mua hàng. tạo (mảng_filter ($ coupon_data));

Làm cách nào để thay đổi kiểu dữ liệu trong Laravel?

Trước hết chúng ta cần cài đặt gói soạn thảo "doctrine/dbal". .
Cài đặt gói Composer
Di chuyển cho bảng chính
Thay đổi loại dữ liệu bằng cách sử dụng Di chuyển
Đổi tên bằng Migration