草庐IT

activeRecord

全部标签

mysql - ActiveRecord 根据自定义唯一性和最大列值进行选择

为标题道歉,因为我不知道如何简洁地描述我的问题。假设我们在数据库中有多个Item实例,包含以下列:name、year和version。示例如下:|id|name|year|version||----|-----------|--------|---------||1|Blockhead|2010|1||2|Blockhead|2010|2||3|Jughead|2011|1|我只想返回名称和年份唯一的结果,但只返回该名称/年份唯一性组合的最新版本。即,我想返回:|id|name|year|version||----|-----------|--------|---------||2|B

php - 如何解决消息 : Trying to get property of non-object error in Codeigniter?

我在CodeIgniter和实践中非常新鲜。我现在正在开发一个简单的Codeigniter应用程序,只是为了练习。我在数据库中有银行及其分支机构。我只想显示带有银行名称的分支机构。分支机构正在显示,但在获取银行时在Controller中显示此错误。我在SOlinks中尝试了这些,但没有发现有效。"APHPErrorwasencounteredSeverity:NoticeMessage:Tryingtogetpropertyofnon-object"inLineNumber:85and91这是我的ControllerfunctionShowBranchList(){$branch_li

mysql - 可以通过事件记录中关联的计数来排序吗?

假设我的帖子有很多评论是否可以执行ActiveRecord查询以获取大多数评论排序的帖子?令我惊讶的是,这个在普通旧版MySQL中相对常见的查询在AR中似乎没有简单的答案。是的,您可以使用counter_cache,但这并不是真正重新创建原始查询。我错过了什么?更进一步。如果Posts有很多Comments而有很多Likes怎么办。是否有可能获得总计点赞数最多的帖子?谢谢! 最佳答案 正如您所说,counter_cache似乎是最接近“rails方式”的方式。到目前为止,我还没有遇到任何用于此特定目的的AR定义方法,但这是我所见过的

mysql - 优化返回数百条记录的 Rails 3.0 查询

环境:Rails3.0.6和MySQL我有以下两个模型:classEmployee我有一个页面,对于给定的用户,显示他手下的所有员工及其所有直接经理。此页面通常显示数十条记录,但对于执行级别的用户,可能会显示多达1000条记录。(出于各种原因,我们不想使用分页。)渲染页面的Controller方法如下(完整显示)defmanage_reports@tab="home"@sub="manage"add_breadcrumbI18n.t("home_menu.MyReports"),:manage_reports_path@my_reports=current_user.employees

mysql - has_and_belongs_to_many 连接表中不允许使用主键

我有两个实体、数据中心和项目之间的多对多链接表,在遗留代码中。我发现,这实际上是一对多的关系。作为清理关系的第一步,我想放一个唯一索引在其中一个字段上。现在我收到以下错误:has_and_belongs_to_many连接表(datacenters_projects)中不允许使用主键。我正在使用在ruby​​1.8.7p174和mysqlVer14.12Distrib5.0.77上运行的Rails2.3.8。这不是主键,它只是一个唯一索引。我想这是一个候选键,但我还没有确定它是一个主键。不知道为什么mysql认为这个是主键。我不知道为什么ActiveRecord会反对在has_and_

mysql - Rails/Active Record "ArgumentError: argument out of range"- 对于大于 24 小时的 "time"字段

我正在使用未使用良好约定的遗留数据库,但我无法更改任何架构。出现的一个问题是,对于某些时间字段,值大于24小时,例如:33:06:46。这给了我一个:ArgumentError:argumentoutofrange这个问题有人问过before但没有得到满意的答复。提问者最终说他使用了DataMapper,这是我想避免的。有没有人有任何想法来捕捉这个?我可以在不更改实际模式的情况下让Rails将其视为日期时间字段而不是时间字段吗?谢谢!塔里克 最佳答案 但不确定这是最好的方法:ActiveRecord使用ActiveSupport::

mysql - 检查mysql表是否已经存在

我使用activerecord连接到mysql数据库并在连接后创建表。到目前为止效果很好,问题是我不知道如何检查表是否已经存在。我认为它可以与table.exist一起使用?但不知何故我没有......这就是我到目前为止所得到的:ActiveRecord::Base.establish_connection(:adapter=>"mysql",:host=>"localhost",:username=>"my-username",:password=>"my-password",:database=>"my-db",:encoding=>"UTF8")#Howtocheckifitex

mysql - rails activerecord、mysql 和 mysql2 性能下降?

我最近才从Rails2.3.5升级到Rails3.2.7,并注意到我的某些查询的性能有所下降。我知道Rails3ActiveRecord在某些情况下比Rails2.3.5慢,但基准测试让我感到惊讶,我只是想确保我没有遗漏任何东西。我运行了以下查询,它在我的应用程序中非常受欢迎,作为基准SELECTSQL_NO_CACHEtable_name.*FROMtable_nameWHERE((string_col='value')AND(int_col1BETWEEN5AND30))ORDERBYint_col2DESCLIMIT1000我检查过:rails3.2.7与rails2.3.5ra

mysql - SQL 插入已提交但在下一个请求中找不到?

我在输出“已提交请求tokenxx”的RequestToken模型中放置了一个after_commit回调。您可以在我在下面包含的日志中看到,token记录已提交,下一个请求对对象的查找显示找不到。该问题间歇性出现,如果我刷新页面,则会找到记录并且请求会通过。环境AWSEC2+RDS、Ubuntu10.04、Rails3.2.8、MySQL20.3.11gem、apache22.2.14、phusionpassenger3.0.11有没有人见过这个?有什么建议吗?CommittedRequestTokenS8j311QckvEjnDftNW0e7FPHsavGWTelONcsE3X1R

使用 codeigniter 进行 MySQL 查询(事件记录)

我在codeigniter中使用以下查询:$this->db->select('products.id,categories.nameascat_name,products.nameasname,products.product_image,products.description,products.price,products.furl,products.on_sale,products.quantity_in_stock,products.product_code,products.rating_1,products.rating_2,products.rating_3,produ