gpt4 book ai didi

symfony1 - 如何从 symfony 任务的配置方法访问数据库

转载 作者:行者123 更新时间:2023-12-02 19:21:36 26 4
gpt4 key购买 nike

您可以通过扩展sfBaseTask来创建symfony“任务”;请参阅http://www.symfony-project.org/cookbook/1_1/en/tasks了解更多详情。

但是,我在configure部分看不到如何设置数据库连接。我想这样做,以便我可以让 detailedDescription 属性显示一些仅在数据库中定义的选项。

最好的方法是什么?

最佳答案

如果你查看 symfony creates a custom Task Skeleton 的方式(./symfonygenerate:task yourTaskName),您会在执行函数中看到如下所示的代码:

protected function execute([..])
{
$databaseManager = new sfDatabaseManager($this->configuration);
$connection = $databaseManager->getDatabase($options['connection'])->getConnection();
[..]

此代码的问题在于它使用默认配置,但如果您知道要打开什么连接(检查您的 database.ymlschema.yml找出名称)应该很容易,代码如下所示:

protected function configure()
{
$databaseManager = new sfDatabaseManager(sfProjectConfiguration::getApplicationConfiguration('frontend'‌​, 'prod', true));
$connection = $databaseManager->getDatabase("the_name_of_your_connection")->getConnection();
[..]

然后您可以按照通常的方式访问您的模型,例如:

    $myItem = Doctrine_Core::getTable('item')->find(14);
echo $myItem->getId();

关于symfony1 - 如何从 symfony 任务的配置方法访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6257244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com