Mysql
 sql >> Baza danych >  >> RDS >> Mysql

INSERT IGNORE używając Laravel's Fluent

Wypróbuj tę magię w swoim modelu:

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));
}

Użyj w ten sposób:

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

Jest to świetny sposób na zapobieganie naruszeniom ograniczeń, które mogą wystąpić podczas korzystania z funkcji firstOrCreate w środowisku wielu użytkowników, jeśli właściwość „name” byłaby unikalnym kluczem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest najlepszy sposób przechowywania wartości pól wyboru w bazie danych MySQL?

  2. Python i MySql:Unicode i kodowanie

  3. Grupa mySQL według nazwy użytkownika

  4. Ile zapytań MySQL powinienem ograniczyć na stronie? PHP / MySQL

  5. Wstaw obraz do bazy danych za pomocą php