使用 sfFilter 用 Doctrine 更新数据库

2024-03-29

我创建了一个 sfFilter 来更新用户所在的当前模块:


class SessionFilter extends sfFilter {
    public function execute($filterChain){
        if ($this->isFirstCall()){
            $user = $this->getContext()->getUser()->getId();
            $module = $this->getContext()->getModuleName();
            Doctrine::getTable('ActiveSession')->set($user, $module);
            Doctrine::getTable('ActiveSession')->refresh();
        }

        $filterChain->execute();
    }
}

当我查看数据库时,我发现记录已将字段“模块”设置为“默认”,但是当我看到日志时,它显示:


UPDATE active_session SET module = 'secretary' WHERE (sys_user_id = '2')

有谁知道如何解决此行为?

编辑:我忘记放置设置和刷新方法

class ActiveSessionTable extends Doctrine_Table
{
    public function set($userId, $module){
        $q = $this->createQuery()->update()
            ->set('module','?', $module)
            ->where("sys_user_id = ?", array($userId))->execute();
    }

    public function refresh(){
        $time = time() - sfConfig::get('app_session_keep') * 60;
        $this->createQuery()->delete()->where('time < ?', $time)->execute();
    }
    ...
}

刷新方法应该在其他方法中使用,但为了测试我将其保留在那里。


好吧...关闭这个。

我可以实现我想要的唯一方法是检查模块是否为“默认”:

class ActiveSessionTable extends Doctrine_Table
{
    public function set($userId, $module){
        if($module != 'default'){
            $q = $this->createQuery()->update()
               ->set('module','?', $module)
               ->where("sys_user_id = ?", array($userId))->execute();
        }
    }
   ...
}

确实不是一个令人满意的答案,但找不到正确的答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 sfFilter 用 Doctrine 更新数据库 的相关文章

  • MySQL 日期比较过滤器

    我有一些运行良好的 SQL 代码 并从我的 Wordpress 数据库返回所需的结果 但是 我根本无法理解如何过滤以下日期之间的日期 2010 12 10 00 00 00 and 2010 12 15 00 00 00 这是我的 SQL
  • 数据表 DT[i, j, by] 不使用 i 中的条件选择组,而是尝试过滤组内唯一值的数量

    我不确定我的数据发生了什么 也许我遗漏了一些简单的东西 我的数据集有一个 id dSc 和分配给每个 id 的簇 点 我想过滤掉那些只分配了一个簇的 id e g BS 100021 has only 1 cluster point ass
  • Symfony:如何更改操作中的表单字段属性?

    我有一个带有 sfWidgetFormChoice 的功能表单 它充当复选框列表 我可以通过以下方式将复选框默认设置为 勾选 status gt new sfWidgetFormChoice array choices gt array 1
  • 如何解释TensorFlow的卷积滤波器和跨步参数?

    我正在尝试了解 TensorFlow卷积 http www tensorflow org api docs python nn md convolution 特别是公式 shape output batch in height filter
  • ASP.NET Core 中的自定义授权属性

    我正在研究 asp net core 但我不明白一些事情 例如 在 mvc net 5 中 我们可以使用 AuthorizeAttribute 创建类来过滤和授权操作 并将属性设置为操作 如下所示 public class AdminAut
  • WordPress 使用 GD 图像引擎以编程方式将图像转换为 WebP 格式

    有许多 PHP 解决方案和 WP 插件 它们都带有我不想要 不需要的附加选项 即如何提供转换后的文件 存储它们的位置等 我不需要所有这些 并且正在寻找使用 GD 的纯简单代码 我不想使用插件 谢谢 编码应该什么时候发生 任何时候你知道这是钩
  • 检查了 php.ini 文件“extension=php_pdo_mysql.dll”已启用但仍然错误[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我检查了 php ini 文件 扩展已启用 extension php pdf dll extension php pd
  • Ruby:通过正则表达式过滤数组?

    这对我来说是一个常见的 重复的习惯用法 使用正则表达式过滤数组 然后返回子数组 我的方法看起来不太像 Ruby 我来自 Java 我最终得到了很多看起来很像这样的方法 改进此代码的惯用 Ruby 方法是什么 def get all gifs
  • django admin list_filter“或”条件

    抱歉 如果这个问题之前已经被回答过 但我做了很多谷歌搜索但没有成功 我知道如何创建自定义list filter管理视图中的 s 例如子类化SimpleFilter 我真正想要的是一种方法 在管理列表视图上 检查 将它们组合在 OR 公式中的
  • 卡尔曼滤波器和内部状态变量的质量

    我正在尝试为 Android 开发运动检测应用程序 应用程序应该能够跟踪手机在空间中的运动并将其映射到计算机屏幕上的运动 我正在使用 3 轴加速度计 由于数据非常嘈杂 我正在使用卡尔曼滤波器 内部状态是 6 个分量向量 speed x sp
  • 如何排除不想要的后代?

    我遇到的情况是元素包含n可点击的手柄和n可揭示的元素 div class revealer div class hotspot a class handle href A a div class reveal p Content A p d
  • Solr距离过滤

    我正在尝试使用 Solr 进行距离范围搜索 我知道在5公里范围内进行搜索过滤很容易 q fq geofilt pt 45 15 93 85 sfield store d 5 我所追求的是如果我正在寻找一系列的说法 如何做同样的事情5至10公
  • Doctrine Join 条件类型中WITH 和ON 有什么区别?

    我正在寻找有关学说子句的WITH 和ON 条件类型之间差异的更好解释 我发现有关此问题的文档非常糟糕 但我仍然存有疑问 在我看来 这是原则 1 的遗留物 那时ON用于重新定义关系的连接条件 而WITH用于在默认条件的基础上添加更多连接条件
  • Python 日志记录在 ini 文件中为处理程序添加过滤器?

    我有一个像这样的 log ini handler info class StreamHandler level INFO formatter fmt filter infofilter args sys stdout handler err
  • 在过滤器Javascript中添加两个条件

    我试图在过滤器中添加两个条件 但只有一个有效 第一个条件检查单词之间是否有空格 第二个条件检查words length 是否大于给定的最小长度 如果字符串是 hello world 然后我需要在分割它时得到 hello world 相反 我
  • Spring Rest api 过滤响应中的字段

    我正在使用 spring Rest api 4 x 我们有一个需求 根据请求参数过滤响应中的字段 我的用户对象 private class UserResource private String userLastName private S
  • Primefaces 中的过滤数据表仅有效一次

    我正在尝试使用 Primefaces 过滤数据表 就像这个例子 http www primefaces org showcase ui datatableFiltering jsf 在网络浏览器中 我输入要过滤的文本 它会工作一次 但是当我
  • 将 dataGridView 绑定到绑定列表并按文本框过滤行

    我正在开发一个 Winforms 应用程序 并且有一个已经绑定到 dataGridView 的对象的 BindingList 我还有一个 过滤器 文本框 如果它们与文本框文本不匹配 我想从 datagridview 行中过滤掉行 我想以某种
  • JS中如何过滤多个字符串? [复制]

    这个问题在这里已经有答案了 我希望能够过滤数组中的多个字符串 类型 例如我想过滤类型meat并输入fruit在下面的数据结构中 我想要实现的是过滤数据对象 const data type meat food hamburger type f
  • 使用另一个对象数组过滤对象数组

    这个问题与这个问题类似Jquery 过滤带循环的对象数组 https stackoverflow com questions 30998424 jquery filter array of object with loop但这次我需要使用对

随机推荐

  • Cookie 未更新

    我正在尝试更新 cookie 值 但它不起作用 我尝试过的所有操作都不会更新 cookie 而且我总是得到 cookie 的初始值 所以我进行了搜索 根据 MSDN 我应该能够通过执行以下操作来更新 cookie HttpCookie co
  • JFrame背景图片

    我正在创建一个简单的 GUI 我希望有一个背景图像 2048 X 2048 填充整个窗口 并在左上角有一个正方形 可以偶尔加载 64 X 64 图像 如何才能做到这一点 我已经知道如何设置 JFrame 的大小 它的图像加载我需要帮助 这是
  • 为什么 java.awt.Point 提供了设置和获取双精度数的方法,但将 x 和 y 存储为 int?

    正如您在 Oracle 文档中看到的java awt Point http docs oracle com javase 6 docs api java awt Point html x 和 y 存储为int 然而 getX and get
  • 创建服务(SERVICE_ACCEPT_SESSIONCHANGE)

    我正在尝试按照以下链接中记录的示例创建服务 http msdn microsoft com en us library bb540475 v VS 85 aspx http msdn microsoft com en us library
  • git-svn 变基错误

    运行 git svn rebase 后出现以下错误 update index refresh 命令返回错误 1 有任何想法吗 以下是整个输出 git svn rebase dry run xxx iphone xxx prototype2
  • 查找字符串中的所有字符串

    我通过 http 请求响应文本获取 StrTxt 作为 html 字符串 我想找到 StrTxt 中所有出现的 字符串 像这样的东西 for each string in StrTxt StrTxt all matched strings
  • $location.path 在一定的超时后不起作用

    我正在尝试执行登录身份验证 并且正在尝试使用 angularJS 显示进度视图 例如 app config function locationProvider routeProvider routeProvider when templat
  • 将左值绑定到右值引用时 std::forward 与 std::move

    这里的移动和前进有区别吗 void test int val val 4 void main int nb test std forward
  • Yii2 错误:yii\base\UnknownMethodException:调用未知方法:yii\web\UrlManager::addRules()

    今天更新作曲家依赖项 使用作曲家更新命令 后 我的 Yii2 应用程序损坏了 它抛出未知方法 yii base UnknownMethodException 调用未知方法 yii web UrlManager addRules 检查后供应商
  • 隐藏和删除 ssrs 报告中标题的空白

    我正在研究一个ssrs报告 我可以隐藏最后一页上的标题 IIF Globals PageNumber Globals TotalPages 1 or Globals PageNumber Globals TotalPages true fa
  • ExpansionTile 不保持状态

    以下问题 我有一个清单扩展瓷砖 https docs flutter io flutter material ExpansionTile class html效果很好 我面临的唯一问题是 滚动到视图之外的展开的 ExpansionTile
  • android - Moto G 手机未显示在 Eclipse 的设备列表中

    我正在尝试将 Moto G Mobile 连接到我的 Windows 7 32 位计算机中的 Eclipse 但它没有显示在设备列表中 为此 首先我通过 USB 电缆将设备连接到机器 然后选择PTP模式 然后我检查了设备设置中的 USB 调
  • Spring批处理返回自定义进程退出代码

    我有一个包含多个作业的 jar 我只想每次只执行一个作业并检索自定义退出代码 例如 我有基本工作 retrieveErrorsJob 配置 只需一步即可读取输入 XML 文件并将数据写入特定数据库表中 应用类 SpringBootAppli
  • CMake - 删除单个翻译单元的编译标志

    我想删除单个翻译单元的设置编译标志 有没有办法做到这一点 例如使用set property 注意 编译标志没有 fno name否定 无论出于何种原因 我试过了 get property FLAGS TARGET target PROPER
  • 二维网格中的不同随机点

    我有一个大的二维网格 比如说 10000 X 10000 我需要从这些网格中选择 1000 个随机点 但我还需要注意这两个点都不相同 我想到的标准方法是在选择每个点之后 我应该检查所有先前的条目以查看该点是否已被选择 但对于大网格和大量点来
  • 连接到 EC2 Django 开发服务器

    我是 EC2 和 Web 开发的新手 目前我有一个正在运行的 Linux EC2 实例 并且已经安装了 Django 在开始我的实际项目并尝试运行 Django 测试服务器之前 我正在创建一个测试项目 这是我在 shell 中的输出 pyt
  • matplotlib:半球/楔形的自定义投影

    我正在看定制投影 http matplotlib sourceforge net examples api custom projection example htmlmatplotlib 库中的示例 我正在尝试修改它以仅绘制南半球 我已将
  • 快速处理大量 CSV 数据的最佳方法

    我有大量 CSV 数据集 10M 行 需要处理 我还有另外两个文件需要在输出时引用 它们包含的数据放大了我们对 CSV 文件中数百万行的了解 目标是输出一个新的 CSV 文件 其中每条记录都与其他文件中的附加信息合并 想象一下 大型 CSV
  • 如何使我的 Flask wtforms SelectField 看起来像下拉菜单?

    我创建了一个 SelectField 如下所示 class Inputs Form myChoices number of choices myField SelectField u Field name choices myChoices
  • 使用 sfFilter 用 Doctrine 更新数据库

    我创建了一个 sfFilter 来更新用户所在的当前模块 class SessionFilter extends sfFilter public function execute filterChain if this gt isFirst