簡體   English   中英

運行laravel可以闡明laravel外部的數據庫事務

[英]Running laravel illuminate database transactions outside of laravel

require dirname(dirname(__DIR__)) . '/vendor/autoload.php';
require dirname(__DIR__) . '/config.php';

use Illuminate\Database\Capsule\Manager as DB;

$dbc = new DB;

$dbc->addConnection(array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => DB_NAME,
    'username'  => DB_USER,
    'password'  => DB_PASSWORD,
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => ''
));

$dbc->setAsGlobal();
$dbc->bootEloquent();

$ dbc->的BeginTransaction();

給我這個錯誤,

PHP Fatal error:  Call to undefined method Illuminate\\Database\\Capsule\\Manager::beginTransaction()

誰能為我提供一些有關如何在laravel之外使用膠囊和數據庫事務的幫助。 我找不到任何暗示不起作用的信息?

您需要獲取一個連接實例,以使用任何與數據庫相關的方法(包括beginTransaction )。 實現它們的類是Illuminate\\Database\\Connection 這意味着您需要從管理器獲取連接實例並進行處理:

use Illuminate\Database\Capsule\Manager as DB;

$capsule = new DB;

$capsule->addConnection(array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => DB_NAME,
    'username'  => DB_USER,
    'password'  => DB_PASSWORD,
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => ''
));

$capsule->setAsGlobal();
$capsule->bootEloquent();

$connection = $capsule->getConnection();
$connection->beginTransaction();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM