ModelBase.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Lib;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Database\Capsule\Manager as DB;
  5. use datainf\lib\GlobConfigs;
  6. /**
  7. * model基类
  8. */
  9. class ModelBase extends Model
  10. {
  11. static protected $db = null;
  12. public $timestamps = false;
  13. protected $table = '';
  14. function getSql()
  15. {
  16. return $this->getConnection()->getQueryLog();
  17. }
  18. static function beginTransaction()
  19. {
  20. return self::$db->getConnection()->getPdo()->beginTransaction();
  21. }
  22. static function getDB()
  23. {
  24. return self::$db;
  25. }
  26. static function rollBack()
  27. {
  28. return self::$db->getConnection()->getPdo()->rollBack();
  29. }
  30. static function commit()
  31. {
  32. return self::$db->getConnection()->getPdo()->commit();
  33. }
  34. public static function init()
  35. {
  36. $conf = GlobConfigs::getKey('pgsql');
  37. self::$db = new DB();
  38. self::$db->addConnection($conf);
  39. self::$db->setAsGlobal();
  40. self::$db->bootEloquent();
  41. return self::$db;
  42. }
  43. public static function close()
  44. {
  45. if (self::$db) {
  46. self::$db->getConnection()->disconnect();
  47. self::$db = null;
  48. }
  49. }
  50. }