运行laravel可以说明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();

Gives me this error,

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

Can anyone provide me with some help as to how to use capsule and database transactions outside of laravel. I can't find anything that would suggest this doesnt work?

You need to get a connection instance to work with any database related methods (including beginTransaction). The class that implements them is Illuminate\Database\Connection. This means you need to get the connection instance from the manager and work with that:

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