草庐IT

ActiveRecords

全部标签

ruby - ActiveRecords 选择(:id). 收集与采摘(:id) methods: Why is pure AR "pluck" slower?

我正在尝试从我的文章模型中获取所有ID。我可以通过两种方式做到这一点:Article.select(:id).collect{|a|a.id}ArticleLoad(2.6ms)SELECT"articles"."id"FROM"articles"或2.2.1:006>Article.pluck(:id)(4.3ms)SELECT"articles"."id"FROM"articles"什么给了?为什么AR比Ruby版本慢?即使我对Ruby方法进行基准测试,它似乎也更快:Benchmark.measure{Article.select(:id).collect{|a|a.id}}Art

ruby-on-rails - 如何按属性长度对 ActiveRecords 列表进行排序?

我有一个这样的对象:irb(main):076:0>hints=Hint.where("sentenceLIKE?","%你%")HintLoad(4.0ms)SELECT"hints".*FROM"hints"WHERE(sentenceLIKE'%你%')[[0]#{:id=>214,:sentence=>"我为你们立下模范,我向你们怎样做,你们也该照样做。",:user=>nil,:learned=>nil,:created_at=>Sun,06Jan201318:14:33UTC+00:00,:updated_at=>Sun,06Jan201318:14:33UTC+00:00

php - 使用 CI activerecords 组合 `where` 和 `like` 语句

长话短说:是否可能,如果可能-我如何构建一个看起来有点像这个的查询SELECT*FROMaWHERErow=1AND(other_rowLIKE'%..%'ORanother_rowLIKE'%..%')基本上我无法想出/找到解决这个问题的方法。我似乎无法弄清楚如何将括号添加到activerecords查询中。这可能吗?我当前的代码:$data=$this->where('row',1)->like('another_row','...')->or_where('row',1)->like('other_row',$search)->get('a')->result();结果:SELE

php - 在 Yii2 中同时使用 Redis 和 MongoDB ActiveRecords

我有MongoDB事件记录(模型),我想知道是否可以使用Redis从Redis的存储中自动设置/获取/删除模型。例如,如果我要运行:MyModel::find()->where(["id"=>1])->one();有没有办法让Redis存储结果并在我下次运行相同代码时返回它?此外,如果我要使用id=1更新模型,我希望Redis会使缓存失效。这一切都可能吗? 最佳答案 使用哪个数据库并不重要。它是关于如何实现它们的。Yii在配置文件中设置了这两个组件:db:在需要时使用的数据库连接,如ActiveRecord表示模型的类或QueryB

php - Yii 2 : virtual fields in ActiveRecords

我使用MySQL和Yii2。在数据库中存在表'Regions'withcolumn'coordinates'。此列的类型为点。在SQL中我可以这样写:"SELECTX(coordinates)asx,Y(coordinates)asy"和"INSERTINTORegionsSETcoordinates=PointFromText('POINT(".$x."".$y.")')".但我不知道如何制作ActiveRecord模型。我想要这个(数据库不变):$item=Regions::findOne(1);echo$item->x."".$item->y;$item->x=$new_x;$i

ruby-on-rails - 如果 NOT nil 获取 ActiveRecords

我希望能够将user_id不为空的表中的所有记录收集起来。这就是我所拥有的,但它似乎没有用(即使我已经让它在一个单独的项目中工作):named_scope:all_registered,:conditions=>["user_id!=?",nil] 最佳答案 SQL有一个特定的运算符来检查NULL:ISNULL和ISNOTNULLnamed_scope:all_registered,:conditions=>["user_idISNOTNULL"] 关于ruby-on-rails-如果N

ruby-on-rails - 比较两个返回 bool 变量的 ActiveRecords 的每个值

我正在使用RubyonRails3,我有两个Account类的ActiveRecord对象,如下所示:#Account1和#Account2如何在几行代码中比较Account1的每个属性和Account2的相应属性来测试值是否相等?如果Account1的所有值都等于Account2的值,我应该收到“true”输出,否则即使只有一个不同,我也应该收到“false”输出。 最佳答案 account1.attributes==account2.attributes好吧,这很短。请注意,id包含在这些属性中。您可以在两者上都使用.clone