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

CHÈN BỎ QUA bằng Laravel's Fluent

Hãy thử điều kỳ diệu này, trong mô hình của bạn:

public static function insertIgnore($array){
    $a = new static();
    if($a->timestamps){
        $now = \Carbon\Carbon::now();
        $array['created_at'] = $now;
        $array['updated_at'] = $now;
    }
    DB::insert('INSERT IGNORE INTO '.$a->table.' ('.implode(',',array_keys($array)).
        ') values (?'.str_repeat(',?',count($array) - 1).')',array_values($array));
}

Sử dụng như thế này:

Shop::insertIgnore(array('name' => 'myshop'));

Đây là một cách tuyệt vời để ngăn các vi phạm ràng buộc có thể xảy ra với firstOrCreate trong môi trường nhiều người dùng, nếu thuộc tính 'name' đó là một khóa duy nhất.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Định dạng phù hợp cho truy vấn PDO và MySQL IN / NOT IN

  2. Nhận ID bị xóa lần cuối trong MySQL

  3. Phát hiện nếu giá trị là số trong MySQL

  4. Cách chuyển các ký tự chữ hoa thành chữ thường trong MySQL

  5. Cách liệt kê các hàng cho một truy vấn hoặc hiển thị 'không có bản ghi' bằng cách sử dụng một truy vấn duy nhất