草庐IT

activeRecord

全部标签

mysql - 来自多个模型的包含、选择、排序、限制(单个查询)

我需要创建一个包含下表数据的查询:*Conversation:一种在用户之间对消息进行分组的模型classConversation:conversation_participants##Attributestitle,created_at,updated_atend*ConversationParticipant:一个跟踪对话用户的模型classConversationParticipant*Message:一种跟踪内容和发件人的模型classMessage"User"##Attributessender_id,content,conversation_id,created_at,up

mysql - Ruby on Rails - 来自 ActiveRecord 的 MySQL 中的 UTF8 编码问题

我有一个使用Ruby1.9和Rails4的网络应用程序。在我的本地VM(ubuntu)中,一切正常。我的数据库和表格使用的是utf8_unicode_ci,数据很好地保存到表格中,并很好地打印在webapp页面上。我的问题出在我的生产服务器上(AWS上的EB)。我使用的是MySQL,我的数据库是瑞典语格式,所以我使用以下命令将其转换为UTF8:#formydatabaseALTERDATABASExxxCHARACTERSETutf8COLLATEutf8_unicode_ci;#foreachtablesintheDB(didn’taffectajointablethatIhaveb

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