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