我在學習Symfony2(和OOP),並希望創建一個可在我的應用程序中使用的服務。這個服務接受一個值foo,根據數據庫表檢查它,並返回一個值欄。如何訪問Symfony2服務類中的Doctrine DBAL?
我有一點點類
namespace Acme\TestBundle\Toolbox;
class StringToolbox
{
public function lookupSomething($foo)
{
$conn = $this->get('database_connection');
$sql = "SELECT bar FROM bar_list WHERE foo = :foo";
$stmt = $conn->prepare($sql);
$stmt->bindValue("foo", $foo);
$stmt->execute();
return $bar;
}
}
我的設置是:
services:
toolbox:
class: Acme\TestBundle\Toolbox
arguments: [@database_connection]
但它拋出一個錯誤說,get()方法是不確定的。我卡住了 - 如何在服務中使用DBAL?謝謝!
這有很大幫助! Symfony文檔很好,但他們承擔全面的面向對象的知識,並且我有一些差距。謝謝! – Acyra
出於某種原因,這不再起作用,我必須通過一個不同的參數:參數:[@database_connection] – Acyra
@ doctrine.dbal.connection'服務是一個摘要。嘗試使用'@ doctrine.dbal。%connection_name%_connection',其中'%connection_name%'佔位符是要注入的連接的名稱。 –