草庐IT

Activerecord

全部标签

mysql - Rails 使用连接关联提取值

我在2个模型superhero和superpower之间有一个Rails连接表。现在我有3个不同的superpowerid我想要所有superheroes都具有所有选定的superpowers为此,我正在尝试执行以下操作:matches=Superhero.allmatches=matches.joins(:superpowers).where('superpowers.id=?',17).where('superpowers.id=?',12).where('superpowers.id=?',6)但这给了我一个空对象,即使我有superheroes在我的连接表中有所有给定的supe

mysql - serchkick 找到正确结果后如何重新排序结果?

当我在Rails控制台中这样做时:posts=Post.active.search('lorem').records它给了我这个:PostLoad(0.9ms)SELECT`posts`.*FROM`posts`WHERE`posts`.`id`IN(3,1,2)LIMIT11但是当我执行posts.pluck(:id)时,结果是:[1、2、3]。所以,如您所见,顺序不一样,因为它在查询中,它应该是[3,1,2]。如何重新排序结果,使其成为[3,1,2]?谢谢。 最佳答案 这是一个原始的MySQL查询,它将生成您期望的输出:SELE

mysql - 为什么 ActiveRecord 生成的 SQL 包含时间列的日期?

当我创建一个SQL时间列时,我得到一个纯时间,即。未注明日期的。但是当我使用RubyTime类时,我也会得到一个日期。问题是什么时候“查找”生成的SQL包含日期,我似乎得到了奇怪的结果。表格start_date:timeend_time:timeday_of_week:stringActiveRecorddefself.now_playingself.find(:first,:conditions=>['day_of_week=?ANDend_time>?ANDstart_timeSQLSELECT*FROM`schedules`WHERE(day_of_week='Saturday'

php - codeigniter 事件记录和 mysql

我正在我的codeigniter应用程序的模式中使用ActiveRecord运行查询,查询看起来像这样,publicfunctionselectAllJobs(){$this->db->select('*')->from('job_listing')->join('job_listing_has_employer_details','job_listing_has_employer_details.employer_details_id=job_listing.id','left');//->join('employer_details','employer_details.users

mysql - Rails 3 - 将多个计数转换为单个查询 - OrderedHash

我有一个初始化方法,它做了一件愚蠢的事情。我需要将其优化为一个查询,但目前我的SQL技能让我失望了。我已经设想过使用GROUPBY和UNION以及各种各样的东西,但我只是让自己更加困惑。我将此遗赠给社区以提供一些见解:ClassStats#Turnthesethreequeriesintoonequerythatwecanthen#loadintothethreedifferentinstancevariablesdefinitialize(question)#Integer=totalnumberofanswersforthisquestion@total=total_answers

mysql - 拍卖/银行类应用程序中的乐观或悲观锁定 (Rails/MySQL)

我正在使用Rails3.1和MySQL5.1设计一个类似拍卖的Web应用程序。用户会有账户余额,因此重要的是,如果有人没有足够的资金就不要竞标拍卖品。显然,我会将拍卖的“获胜”打包到交易中,如下所示:交易1:ActiveRecord::Base.transactiondoa=Account.where(:id=>session[:user_id]).first#nowcomesalongpartofcodewithvariouscalculationsandothertableupdates,i.e.timepasesa.balance-=the_price_of_the_itema.

php - SQL 基准 : PHP ActiveRecord ORM vs. MySQL 与 CodeIgniter Active Record 与标准 PHP

测试更新为更具可读性;全部在100倍的foreach循环中完成。测试查询是SELECT*FROMschool_courses;任何人都可以就以下方面提供“跳出框框思维”的反馈:a)为什么PHPActiveRecordORM需要4秒来根据以下结果执行相同的查询?b)这是用于比较查询方法的实用基准还是更多的假设基准?c)是否有其他方法(测试用例)我应该尝试(或修改这些方法)以获得更清晰的画面?结果(使用PDO和MySQLi)Iterations:100PHP(configfile)BaseTime:5.793571472168E-5GrossTime:0.055607080459595Ne

php - SQL 搜索查询(使用 LIKE)优先列

我正在使用CodeIgniter和事件记录。我有posts表:id|title|body|accepted|deleted一旦用户输入一个词,6帖子匹配数据库将被建议,如果它在这些帖子的title或body中。我想做的是优先考虑在title中包含该短语的帖子,而不是仅在body中包含该短语的帖子。怎么做?$query=$this->db->select('id,title,body')->from('posts')->where(array('accepted'=>'1'))->where(array('deleted'=>'0'))->like('title',$seached_te

php - Codeigniter、Activerecord 和 MySQL UDF

我们目前正在使用lib_mysqludf_preg用于与Codeigniter和Activerecord进行正则表达式模式匹配的UDF。使用PREG_REPLACEUDF,我能够通过自定义查询去除所有非数字和字母字符,Activerecord失败并返回错误result()onanonobject作品:$query=$this->db->query(sprintf("SELECT*FROMtableWHEREPREG_REPLACE('/[^a-zA-Z0-9]+/','',UPPER(first_name))='%s'ANDPREG_REPLACE('/[^a-zA-Z0-9]+/',

mysql - 如何从 rails env 检查 mysql 数据库存在的位置?

出于多种原因,我的应用程序必须与多个数据库一起使用。我致力于建立数据库连接的自定义模型,我需要根据arg建立新的数据库连接。因此,例如,在使用以下方法建立新连接之前:ActiveRecord::Base.establish_connectionnew_config其中new_config是database.yml的自定义克隆我想在建立任何数据库连接之前检查是否存在新数据库。所以我需要一个函数db_exists?db_name将根据数据库是否存在返回bool值。 最佳答案 在没有连接到数据库的情况下检查数据库是否存在似乎有点不合逻辑,