我试图在Active Record中组合一个uniq语句和一个select("distinct")语句,结果产生了两个DISTINCT关键字,这当然会导致无效查询。这是我想出的最简单的例子。(为了帮助您理解问题,简化了这一点-我不是简单地问我如何从数据库中获得不同的ids。)
Product.all.uniq.select("distinct id").map(&:id)
This gives me this error message:
Product Load (0.7ms) SELECT DISTINCT distinct id FROM &
我有一个rails应用程序,我希望在我的控制器中创建一个操作,查询我的SQLite DB,并返回一个在DB列中有一个特定字符串的链接。
例如,我有一个带有列links的category表。我希望我的控制器能够得到所有有一个movies字符串的类别。
这个查询是什么样子的?我已经发布了我的模式和控制器,但是我被困住了。
links_controller:
def find_category
Link.where("SELECT category FROM links WHERE links LIKE '%movies%'")
end
链接表:
现在,我正在做类似这样的操作来选择单列数据:
points = Post.find_by_sql("select point from posts")
然后将它们传递给一个方法,我希望我的方法保持不可知,现在必须从我的方法中调用hash.point。如何快速将其转换为数组并将数据集传递给我的方法,或者是否有更好的方法?
我有个模特
class MyClass
include Mongoid::Document
include Mongoid::Timestamps
field :a, type: String
field :b, type: String
field :c, type: String
end
那么,如何从a集合中的所有对象中获取所有-s、b-s或c-s作为列表/数组?Rails/Ruby/Mongoid有这方面的语法糖吗?
我知道,这样做是可能的:
all_a = []
MyClass.desc(:created_at).each do |my_object|
al
我需要选择不同的值并将它们推入数组中。之后,我需要验证变量是否位于数组中。
控制器:
$people = DB::table('checklists')->select('incaricato')->distinct()->get()->toArray();
if (in_array(\Auth::user()->id, $people)) {
$variable = "yes";
}
错误:
Object of class stdClass could not be converted to int
我有一个查询,我在用laravel eloquent ORM编写查询时遇到了问题。 如果有人能帮上忙,我将不胜感激。 下面是SQL表达式: SELECT DISTINCT cust, cust_no FROM delivery_sap
WHERE cust NOT IN ( SELECT cust_name FROM customer)
AND cust_no NOT IN ( SELECT cust_code FROM customer)
我有一种关系,在这里,uniq被称为:
rel = Car.where(brand: 'Audi').order(:price).uniq
现在,我想取消uniq (不同的)部分的范围,以便我可以这样做:
rel.limit(30).pluck(:id)
因为这会给我一个错误,比如:
ActiveRecord::StatementInvalid: PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
这是由于查询调用:SELE
下面是我的控制器,当我使用dd($types_id);时,我得到一个包含两个ids的数组。现在的问题是,当我在where method中传递变量以获取与id关联的类型的名称时,它只获取第一个id的名称,而不是两个id。我可能做错了什么? /*Get Type List*/
public function getTypeList(Request $request)
{
$types_id = DB::table("vehicles")
->whe