Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Laravel 5.2 - Sử dụng một chuỗi làm Khóa chính tùy chỉnh cho Bảng Eloquent trở thành 0

Điều này đã được thêm vào tài liệu nâng cấp vào ngày 29 tháng 12 năm 2015 , vì vậy nếu bạn đã nâng cấp trước đó thì có thể bạn đã bỏ lỡ nó.

Khi tìm nạp bất kỳ thuộc tính nào từ mô hình, nó sẽ kiểm tra xem cột đó có nên được truyền dưới dạng số nguyên, chuỗi, v.v.

Theo mặc định, đối với bảng tăng tự động, ID được giả định là một số nguyên trong phương pháp này:

https://github.com /laravel/framework/blob/5.2/src/Illuminate/Database/Eloquent/Model.php#L2790

Vì vậy, giải pháp là:

class UserVerification extends Model
{
    // if your key name is not 'id'
    // you can also set this to null if you don't have a primary key
    protected $primaryKey = 'your_key_name';

    public $incrementing = false;

    // In Laravel 6.0+ make sure to also set $keyType
    protected $keyType = 'string';
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ SYSDATE () - MySQL

  2. Làm cách nào để biết bộ ký tự của cơ sở dữ liệu / bảng / cột MySQL là gì?

  3. Thủ tục lưu trữ thay thế MySQL

  4. thủ tục được lưu trữ mysql tự gọi đệ quy

  5. Làm cách nào để đặt thời gian thực thi tối đa cho một truy vấn mysql?