Sam*_*zon 1 php postgresql pdo laravel laravel-4
当我同时使用 PDO 和 Laravel DB 对象时,我遇到了问题。我在一个旧的 PHP 项目上工作,有几个 PDO 用法。我尝试逐渐将 Laravel 与 DB 对象一起使用。但是我的代码中有很多 PDO 事务,并且DB Laravel 使用了我的 PDO 对象的不同 postgres 句柄。
所以Laravel DB 忽略了我的 PDO 事务。我想用与我的 PDO 对象相同的数据库句柄来实例化 Laravel DB 对象。
我的问题示例:
PDO -> BEGIN transaction
PDO -> add records
LaravelDB -> Remove these records
PDO -> COMMIT transaction
Both PDO and Laravel -> Records exist. So Laravel query has no effect.
Run Code Online (Sandbox Code Playgroud)
你知道一种方法吗?
我使用 Postgresql 9.1 和 Laravel 4.1。
非常感谢 RiggsFolly 的这个答案,它几乎给了我解决方案。
DB::connection()->setPdo($pdo);
Run Code Online (Sandbox Code Playgroud)
$pdo = DB::connection()->getPdo();
Run Code Online (Sandbox Code Playgroud)