插入单条数据.insert

函数原型

插入成功后,返回 lastInsertId 。

  1. public function insert($mixData, $arrBind = [], $booReplace = false, $bFlag = false);

用法如下:

  1. # INSERT INTO `test` (`test`.`name`,`test`.`value`) VALUES (:name,:value)
  2. /*
  3. Array
  4. (
  5. [name] => Array
  6. (
  7. [0] => '小鸭子'
  8. [1] => 2
  9. )
  10. [value] => Array
  11. (
  12. [0] => '吃饭饭'
  13. [1] => 2
  14. )
  15. )
  16. */
  17. $data = ['name' => '小鸭子', 'value' => '吃饭饭'];
  18. Db::table('test')->
  19. insert($data);

绑定参数

  1. # INSERT INTO `test` (`test`.`name`,`test`.`value`) VALUES (:name,:questionmark_0)
  2. /*
  3. Array
  4. (
  5. [name] => Array
  6. (
  7. [0] => 小鸭子
  8. [1] => 2
  9. )
  10. [questionmark_0] => Array
  11. (
  12. [0] => 吃肉
  13. [1] => 2
  14. )
  15. )
  16. */
  17. $data = ['name' => '小鸭子', 'value' => '[?]'];
  18. Db::table('test')->
  19. insert($data, ['吃肉']);
  20. # INSERT INTO `test` (`test`.`name`,`test`.`value`) VALUES (:name,:value)
  21. /*
  22. Array
  23. (
  24. [name] => Array
  25. (
  26. [0] => 小鸭子
  27. [1] => 2
  28. )
  29. [value] => 呱呱呱
  30. )
  31. */
  32. $data = ['name' => '小鸭子', 'value' => '[:value]'];
  33. Db::table('test')->
  34. insert($data, ['value' => '呱呱呱']);

使用 bind 绑定参数

  1. # INSERT INTO `test` (`test`.`name`,`test`.`value`) VALUES (:name,:questionmark_0)
  2. /*
  3. Array
  4. (
  5. [name] => Array
  6. (
  7. [0] => 小鸭子
  8. [1] => 2
  9. )
  10. [questionmark_0] => Array
  11. (
  12. [0] => 吃鱼
  13. [1] => 2
  14. )
  15. )
  16. */
  17. $data = ['name' => '小鸭子', 'value' => '[?]'];
  18. Db::table('test')->
  19. bind(['吃鱼'])->
  20. insert($data);

replace 支持

  1. # REPLACE INTO `test` (`test`.`name`,`test`.`value`) VALUES (:name,:value)
  2. /*
  3. Array
  4. (
  5. [name] => Array
  6. (
  7. [0] => 小鸭子
  8. [1] => 2
  9. )
  10. [value] => 呱呱呱
  11. )
  12. */
  13. $data = ['name' => '小鸭子', 'value' => '[:value]'];
  14. Db::table('test')->
  15. insert($data, ['value' => '呱呱呱'], true);

说明:原生 sql 用法见【执行原生 sql】,方法中的第二个参数将会覆盖 bind 中的方法;