草庐IT

activeRecord

全部标签

php - 使用 ActiveRecord 和 Yii2 记录实际的 SQL 查询?

我这样做:$students=Student::find()->all();return$this->render('process',array('students'=>$students));然后在View中:foreach($studentsas$student){echo$student->name.', ';echo$student->getQuizActivitiesCount();?>我想查看正在执行的sql查询。一个学生“有很多”测验事件,查询执行得很好,但我需要查看原始SQL。这可能吗? 最佳答案 方法一

ruby-on-rails - Rails MySQL ILIKE 查询

我的语法已关闭。我想创建一个范围by_name来查找name属性包含传入字符串(不区分大小写)的所有agencies。这是我所拥有的:classAgency(agency_name){where('nameILIKE?',"%#{agency_name}%")}end在Rails控制台中,我输入agencies=Agency.by_name("foo")。这是生成的查询:SELECT`agencies`.*FROM`agencies`WHERE(nameILIKE'%foo%')这是错误信息:Mysql2::Error:YouhaveanerrorinyourSQLsyntax;che

ruby-on-rails - Rails MySQL ILIKE 查询

我的语法已关闭。我想创建一个范围by_name来查找name属性包含传入字符串(不区分大小写)的所有agencies。这是我所拥有的:classAgency(agency_name){where('nameILIKE?',"%#{agency_name}%")}end在Rails控制台中,我输入agencies=Agency.by_name("foo")。这是生成的查询:SELECT`agencies`.*FROM`agencies`WHERE(nameILIKE'%foo%')这是错误信息:Mysql2::Error:YouhaveanerrorinyourSQLsyntax;che

mysql - 在 Rails 中的多个数据库之间切换而不中断事务

我正在设置一个包含多个数据库的Rails应用程序。它使用ActiveRecord::Base.establish_connectiondb_config在数据库之间切换(所有这些都在database.yml中配置)。establish_connection显然会中断每次调用的待处理事务。一个负面后果是测试,其中use_transactional_tests必须被禁用(导致不受欢迎的缓慢测试)。那么……Rails应用程序如何同时维护不同数据库上的多个事务?(澄清一下,我不是在寻找花哨的跨数据库事务。只是数据库客户端(即Rails应用程序)同时维护多个事务的一种方式,每个数据库一个。)我见

mysql - 在 Rails 中的多个数据库之间切换而不中断事务

我正在设置一个包含多个数据库的Rails应用程序。它使用ActiveRecord::Base.establish_connectiondb_config在数据库之间切换(所有这些都在database.yml中配置)。establish_connection显然会中断每次调用的待处理事务。一个负面后果是测试,其中use_transactional_tests必须被禁用(导致不受欢迎的缓慢测试)。那么……Rails应用程序如何同时维护不同数据库上的多个事务?(澄清一下,我不是在寻找花哨的跨数据库事务。只是数据库客户端(即Rails应用程序)同时维护多个事务的一种方式,每个数据库一个。)我见

mysql - 使用 Ignited-Datatables 搜索时操作 'like' 的排序规则的非法混合

我已经成功实现了Ignite-Datatables。但是,在输入“İ,ş,ğ,..”等“非拉丁”字符时使用数据库进行搜索时POSThttp://vproject.dev/module/user/ign_listing500(内部服务器错误)详情如下:Illegalmixofcollationsforoperation'like'whilesearching...(u.id_userLIKE'%İ%'ORu.first_nameLIKE'%İ%'ORu.last_nameLIKE'%İ%'ORue.emailLIKE'%İ%'ORu.last_loginLIKE'%İ%')..

mysql - 使用 Ignited-Datatables 搜索时操作 'like' 的排序规则的非法混合

我已经成功实现了Ignite-Datatables。但是,在输入“İ,ş,ğ,..”等“非拉丁”字符时使用数据库进行搜索时POSThttp://vproject.dev/module/user/ign_listing500(内部服务器错误)详情如下:Illegalmixofcollationsforoperation'like'whilesearching...(u.id_userLIKE'%İ%'ORu.first_nameLIKE'%İ%'ORu.last_nameLIKE'%İ%'ORue.emailLIKE'%İ%'ORu.last_loginLIKE'%İ%')..

mysql - Ruby on Rails/ActiveRecord 和表分区

到目前为止,我已经阅读了文档并且能够找到任何可以帮助我的东西。我也阅读了大量的博客文章,但似乎没有直接回答我的问题:是否可以使用ActiveRecord管理InnoDB表中的表分区?我真的更喜欢保持非常干净,并且我试图避免编写外部脚本来尝试自动创建/随着时间的推移删除分区。 最佳答案 是的,你可以!但我不认为有什么gem可以为你做到这一点。为了执行分区管理,您需要自己做艰苦的工作,并通过以下方式直接通过连接发送您需要在DB上运行的命令ActiveRecord::Base.connection.execute("ALTERTABLEy

mysql - Ruby on Rails/ActiveRecord 和表分区

到目前为止,我已经阅读了文档并且能够找到任何可以帮助我的东西。我也阅读了大量的博客文章,但似乎没有直接回答我的问题:是否可以使用ActiveRecord管理InnoDB表中的表分区?我真的更喜欢保持非常干净,并且我试图避免编写外部脚本来尝试自动创建/随着时间的推移删除分区。 最佳答案 是的,你可以!但我不认为有什么gem可以为你做到这一点。为了执行分区管理,您需要自己做艰苦的工作,并通过以下方式直接通过连接发送您需要在DB上运行的命令ActiveRecord::Base.connection.execute("ALTERTABLEy

mysql - 使 ActiveRecord/Rails 使用实际的 mysql TIMESTAMP 列

Rails的:timestamp列类型所在;它实际上只是:datetime的别名。我正在使用mysql,我想使用实际的unix-timestampTIMESTAMP列。a)除了使用SQL创建列之外,是否有设置此设置的好方法?b)ActiveRecord是否会正确处理它(例如,必要时转换为Time,接受unix时间戳Integer作为输入等)?我应该处理哪些陷阱,在哪里处理?为什么:速度。这是针对一个非常活跃的表,该表聚合了已经使用unix时间戳的外部数据源。转换为日期时间(或者甚至首先转换为db字符串,经过2个gsub)耗尽了大部分导入时间。否则我可能只是在做一个非常便宜的Intege