草庐IT

activerecord-relation

全部标签

mysql - 使用 ActiveRecord 解释 COUNT 查询

我想做如下的事情:Post.count.explain#doesn'twork失败是因为EXPLAIN是Relation上的一种方法,Post.count不是关系。它只是一个常规整数,是查询的结果。那么如何解释计数查询呢? 最佳答案 这是一个生成完全相同的SQL查询的表单,但返回一个关系来调用explain:Post.select('count(*)').explain两者都生成SQLSELECTCOUNT(*)FROM`posts`...所以查询计划应该是相同的。 关于mysql-使用

php - 根据 laravel 中的相同类别制作 'Related To' 部分

我有一个发布食谱的网站。他们每个人都有一个类别,我想再显示2-3个与该帖子类别相同的帖子。我怎样才能建立一个查询来显示它?我有一个Post模型和Category模型,两者之间有belongsToMany关系,它填充了一个数据透视表,我将这些类别绑定(bind)到一个帖子。这是我的BController中的函数,这是将数据传递到用户可以访问和查看的View的函数。publicfunctionslug(Request$request,$slug){if(Auth::check()){$fav=DB::table('post_user')->whereUserId(Auth::id())->

mysql - 数据库设计 : relate to car's model or trim?

我正在重新提出一个以前在SO中删除的问题,因为它不是“编程问题”。希望这篇文章比上一篇文章更“编程”一些。首先,几个定义:型号-2011NissanSentra修剪-2011NissanSentraLX通常,特定车辆会有一个列表,例如可用的颜色或设备选项。因此2011NissanSentra可能有以下颜色可供选择:黑色白色红色然后,制造商可能已经为2011NissanSentraLX内饰提供了一种特殊颜色:带黄色圆点的粉色如果我正在构建一个汽车网站,我想在其中捕获这些信息,我应该执行以下哪项操作:将颜色与模型相关联?将颜色与装饰相关联?将颜色与模型和装饰相关联?我的直觉是将它与模型相关

mysql - 防止 Rails 缓存 ActiveRecord 查询的结果

我有一个rake任务需要遍历大量记录(称为商家),每个记录都有大量关联项目。我的问题是,由于Rails会自动缓存我的数据库查询结果,我很快就将我的工作人员放入交换空间。简而言之,我想知道如何运行如下命令:Merchant.all.each{|m|items=m.items}每次都不会缓存“items”的值。我试过:Merchant.all.eachdo|m|ActiveRecord::Base.connection.uncacheddoitems=m.itemsendend我还尝试将其添加到我的商家模型中:defitems_uncachedself.class.uncached{ite

php - Yii2:使用 Query 与 ActiveRecord 构建复杂查询

我有这两个查询,第一个是使用ActiveRecord编写的,第二个是使用yii\db\Query自定义制作的。在我的本地主机查询中,用Query编写的查询速度快2-4毫秒,但更难编写。此外,使用AR编写的查询将执行多个数据库查询以及SHOWCREATETABLE查询,总计比我执行AR时执行的查询多10或12个。此外,AR要求您为关系网络中的每个表定义AR模型,而如果您避免使用AR,您最终会在您的应用程序中使用更少的类/文件。我的问题是,您会使用AR还是会使用yii\db\Query编写查询?AR更漂亮也更容易编写,但它会生成如此多的查询,这是个问题吗?我在一个网站上工作,该网站的表格有

mysql - ActiveRecord 查询 : order by a sum on an included model

项目有_many:itemsItembelongs_to:project我正在尝试按项目各自项目的总价对项目进行排序。像这样的东西:Project.includes(:items).order('SUM(items.price)')使用这段代码,ActiveRecord只返回第一个项目。我错过了什么? 最佳答案 我还没有尝试过v3的东西,但我认为它会是这样的Product.joins(:items).group('products.id').order('SUM(items.price)')

mysql - 如何在 ActiveRecord 模型的属性中存储数组?

我的模型waypoint有两个属性坐标geocode_text和模型route只不过是带有一些额外文本信息的排序的航路点数组。有些路线可以有相同的航点,所以我想将航点与路线分开。在路线内存储航路点的最佳方式是什么?我看到了几种方式:将航路点id序列化为route的waypoint_ids属性,但在这种情况下,我将无法在一个SQL请求中获取路线及其所有航路点,因为航路点id将隐藏在序列化字符串中。创建具有此类参数的第三个模型路线编号航点编号职位通过多对多关联连接路线和航点,并将航点在route的位置存储在position属性中。但它似乎过于复杂。在这种情况下,对我来说最好的方法是什么?

【CVPR 2023 论文解读】TriDet: Temporal Action Detection with Relative Boundary Modeling

发表时间:CVPR2023作者团队:北航,美团,JDExplore代码链接:GitHub-dingfengshi/TriDet:[CVPR2023]Codeforthepaper,TriDet:TemporalActionDetectionwithRelativeBoundaryModeling[CVPR2023]Codeforthepaper,TriDet:TemporalActionDetectionwithRelativeBoundaryModeling-GitHub-dingfengshi/TriDet:[CVPR2023]Codeforthepaper,TriDet:Temporal

sql - 存储(和访问)历史记录的最佳方式是什么 1 :M relationships in a relational database?

假设的例子:我有汽车和车主。每辆汽车在给定时间属于一个(并且只有一个)车主,但所有权可以转让。车主可以在任何时候拥有零辆或多辆汽车。我想要的是将历史关系存储在MySQL数据库中,以便在给定任意时间时,我可以查找当前的汽车分配给车主。即在时间X(X可以是现在或过去的任何时间):谁拥有汽车Y?所有者Z拥有哪些汽车(如果有)?在SQL中创建M:N表(带有时间戳)非常简单,但我想避免相关子查询,因为该表会变大(因此性能会受到影响)。有任何想法吗?我觉得有一种方法可以通过将这样的表与自身连接起来来做到这一点,但我对数据库的经验并不丰富。更新:我想避免在每行中同时使用“start_date”和“e

php - 带数组的 ActiveRecord where_in()

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我已经尝试了几种不同的方法来解决这个问题,但到目前为止还没有解决方案。我收到此错误消息:“where子句”中的未知列“Array”SELECT*FROM(Articles)WHEREidIN(数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组,数组