嘿。。我在sql查询(使用Codeigniter的activerecord生成)中使用了几个“like”时遇到了问题:
问题是,在阅读这个查询时,似乎第一个like和第二个like周围有一个括号,但我希望第二个like和最后一个like周围有一个括号(我希望它比较最后一个like和下一个like是否有效)
如何使用Codeigniter的活动记录类实现这一点
当前代码:
如果($type!=0)
$this->db->where('type',$type)
我不认为CI增加了任何偏执。它将在前两
如何配置ActiveRecord以在Padrino应用程序中使用部分_更新
Customer < ActiveRecord::Base
after_update :check_name_change
private
def check_name_change
if name_changed?
# send mail notification for change of name.
end
end
end
我看不出有什么不同。任何update\
我希望使用户能够覆盖locales/YAML文件中的自定义翻译。
我使用了Sven Fuchs的i18n-active_记录gem,它非常适合使用数据库中存储的翻译
问题是:用户应该只得到自己的翻译,而不是别人的翻译
因此,我在translations表中添加了一个user\u id列。现在我不知道如何为I18n::Backend::ActiveRecord设置作用域
Mylocale.rb(在配置/初始值设定项中):
谢谢你的建议 尝试将其添加到初始值设定项文件中
ie:添加到初始化i18n的
我正在使用嵌套属性以一种形式更新父项和子项,并且我希望子项根据其源标题字段进行排序:
...
<!-- Loop with details mappings data to update -->
<table class="table table-striped table-condensed">
<tr align="left">
<th>Software</th>
<th>Table</th&
在Rails4中,我不知道如何同时获取模型和相关模型
例如,我有一个包含许多消息的用户模型
以下代码工作正常
@user = User.find 29, include: :messages
@messages = @user.messages
但是,当我试图返回带有json格式的@messages的@user时
render :json @user
返回的结果不包含@messages,只返回@user数据
我可以做的一个变通方法是用
{user: @user, messages: @mes
我用的是yii2
要明确的是:
两个表content和task是1:1关系task.content\u id=
content.id
我提到
在视图文件中,我使用Gridview显示数据
我想内容也可以搜索,即使它是在另一个
桌子
也许下面的sql可以解释我想要什么:
SELECT
c.content,
t.publish_status
FROM
content c, task t
WHERE
c.content LIKE '%keywordIn
查看此链接:
在本节:
当急切地加载关系时,可以使用匿名函数自定义相应的关系查询。比如说,
我有三张桌子:
客户:字段:客户id、客户名称
颜色:字段:颜色id、颜色名称
客户颜色:字段:id、颜色客户id、颜色颜色id
客户1连接到颜色:紫色和橙色
客户2连接到颜色:橙色
我正试图让所有拥有橙色代码的客户:
$data = Customers::find()->with([
'colors' => function($query) {
如何使用多个或多个选项
$data = Info::find()
->andFilterWhere(['OR',
[ 'LIKE', 'username LIKE "%' . $text . '%" '],
[ 'LIKE', 'name LIKE "%' . $text . '%" '],
[ 'LIKE', 'data LIKE "%' . $text . '%" '],
[ 'LIKE', 'skype LIKE
目前我知道在rails中进行子选择的唯一方法是使用arel,
对于exmaple-
sub = x.where(y:'x').project(:id)
select = a.where(a[:x_id].in(sub))
问题是,,
如果x使用的是gem上的acts as taggable,并且需要通过特定标记进行过滤,请使用withtaged_with方法
我怎样才能仍然获得相同的数据库效率,它看起来像是用方法标记的覆盖了投影
谢谢,您不需要Arel在Rails中构建子选项:
sub = X
Ruby 2.6.3/Rails版本6.0.0
你好!
我在rails 6应用程序中实现了ActionText(使用Trix编辑器),其中我使用带有自定义标记和属性的元素,如:
<word start='0'>My </word>
<word start='1'>Word</word>
但是不能对我的自定义属性“start”执行相同的操作,如果我编辑我的元素,它将被删除
你可以在这里找到一把小提琴:
如果有人知道如何解决这个问题或需要更多信息,请
如何在现有数据库中使用ActiveRecord,并将多列作为主键,而没有ID列?我不得不在set_primary_key、update和delete方法上编写扩展/破解。但我不确定它在未来的版本中是否会起作用。有没有一种方法可以让ActiveRecord在这种情况下不受攻击地工作?ActiveRecord不支持复合主键。不过,这似乎增加了支持
我想在codeigniter中使用活动记录更新一行,我只想增加一个字段值(received_qty=received_qty+1),我意识到我可以在常规sql中这样做,但在codeigniter活动记录中我做不到
$update['received_qty'] = 'received_qty + 1';
$update['received_date'] = date("Y-m-d");
$this->db->where($where);
$this->db->update
我正在使用Desive,但用户模型与遗留表相关,因此非常好,可以完美地工作
现在,我想实现重置密码的功能,并强制具有新字段(reset\u password\u token和reset\u password\u token\u at),我无法在原始表上创建这些字段
我决定使用好的委托和有一个关系。以下是我所做的:
class User < LegacyDatabase
set_table_name 'T_CLIENTS'
devise :database_authenticata
数据访问对象和活动记录之间有什么区别?它们似乎完全相同,既在应用程序层和持久化层之间构建了一个层,又使用SQL查询抽象出直接的数据库访问。数据访问对象(DAO)是指数据层中负责在域中持久化单独实体的对象。活动记录是执行DAO的一种特定方法,其中包含表中单个行的值的类还负责查询、更新、插入和删除该表。活动记录设计模式意味着您的对象与数据库中的表具有一对一的映射。数据访问对象(DAO)是专用于将模型/域对象持久化到数据源的接口。这是一个例子
ActiveRecord模式以类似的方式工作,但将持久性方
我的奖励表中有两列:排名(整数)和名称(字符串)。我想创建一个范围,以显示所有记录,并以升序(1、2、3…)填充排名列,然后显示其余没有排名的记录,以升序(a、b、c)显示,因此它看起来像这样:
排名:1,名称:“zz”
排名:2,名称:“aaa”
排名:无,名称:“bbbb”
排名:无,名称:“ccc”
排名:无,名称:“ddd”
等等
这似乎不起作用:scope:book\u form\u sort\u order,->{order(“排名ASC,名称ASC”).group(:排名)}有人想
我对Sidekiq没有找到DB记录有一个问题,我想这是因为在Sidekiq运行之前事务没有完全提交。我的印象是交易是在区块内进行的:
User.transaction do
# db updates here
# commit or rollback
end
MyWorker.perform_async()
那么,我的理解是否不正确,即即使在阻塞之后,DB操作也可能没有完全提交?这就是我看到的行为。我听说过提交后的,,但我使用的是服务对象,希望将逻辑保留在那里。您的印象是正确
我正在开发一个CMS,并通过使用当前时间戳向数据库添加一个新条目来实现版本控制
我的表格设置如下:
id | page | section | timestamp | content
“页面”是正在访问的页面,它可以是页面的路径($Page_name),也可以是“/”(表示“全局”字段)
“节”是正在编辑的页面的节
我希望能够选择给定页面的所有行,但每个部分只能选择一次,即选择具有最新时间戳的部分
我已尝试使用以下CodeIgniter活动记录代码:
$this->db->sele
我有一个模型,有两个字段:name和subject
我希望用户可以在搜索框中键入“Maria chubbb”,应用程序应该返回每个记录,其中至少有搜索字符串中的一个单词(或%word%),并且该单词可以位于任何字段中。
如何做到这一点 如果您想使用纯ActiveRecord/SQL执行此操作,您可以这样做:
words = params[:query].split(' ')
# => ["Maria", "chubbb"]
conditions = words.collect {|word
不幸的是,这是我这几天来的第二篇文章。因此,应用程序在mysql和rails 3.0.3上运行良好,但我发现我需要使用MSSQL,所以我不得不将rails降级到3.0.1
简而言之,我将show.html.erb复制为show2.html.erb,并创建了一个新方法,它是show方法的副本。然后我创建了一个路由匹配
我的控制器
class fathersController < ApplicationController
def show
@father= Father.fin
在我的Yii应用程序中,我有一个表示siteconfig表的模型,它有四列:
整数配置id,
字符串键,
字符串值,
字符串更新时间。
我使用Gii创建了一个模型,以确保我不会犯任何错误。我不会在这里发布全部代码,因为这是我100%未修改的,由Gii生成的标准模型代码。由于我的问题与搜索有关,我只发布生成代码的重要部分搜索方法:
我尝试在正常的Yii ActiveRecord搜索中使用生成的模型,如下所示:
$etona = new SiteConfigurationRecord();
$cri
我在数唱片的数量。我们已经看了好几天了,但计数不正确。当一无所有时,它一直返回1。所有其他型号的计数都正确返回,所以这一款相当奇怪。还有什么地方需要我查一下吗
已经看到的情况:
var_dump:因此它返回0;一切如期而至
检查范围是否存在某种冲突
$pending=count(Model::Model()->pending())
规则在模型中是安全的。型号:
public function pending()
{
$criteria = new CDbCriteria;
我不确定这里的术语是否正确,但我认为这在Yii2中很容易做到,但我似乎找不到如何做到
我想要一个类Location,它扩展了ActiveRecord,但是我有两种类型的位置。为了处理这个问题,我将有一个名为location.type的字段,它是enum('store','campus')。然后我想创建两个扩展名为Store和Campus的Location的模型,每个模型只返回基于type字段的结果
我看到我认为Yii1.x允许一个名为find()的模型方法,其工作方式如下:
public mod
这是我的预约模式
class Appointment < ApplicationRecord
enum status: { confirmed: 0, rescheduled: 1, cancelled: 2}
belongs_to :user
belongs_to :client
validates :start_time, presence: true
validates :end_time, presence: true
after_create :remi
标签: Activerecord
has-many-throughpolymorphic-associationssingle-table-inheritancesti
我有一些问题与多态性有很多通过与性传播感染。让我解释一下我想做什么:
假设我有一份合同。一份合同可以有多家公司作为协议的当事方,即一份合同可以有多个许可方作为合同中授予权利的一方,多个被许可方作为合同下接受权利的一方。许可方和被许可方都是可以成为多个合同当事人的公司
到目前为止,我有以下代码:
#contract.rb
class Contract < ApplicationRecord
has_many :relationships, dependent: :destroy
ha
我正试图在application_helper.rb中放置活动链接条件的rspec。
应用程序\u helper.rb代码:
def active_class(link_path)
current_page?(link_path) ? 'active' : ''
end
我试图为这个active_类方法放置rspec,为此我使用了存根。这是我的active_类方法的rspec代码。
应用程序\u帮助程序\u spec.rb代码:
describe 'when called from
使用ActiveRecord检索模型时,可以选择几个列。例如:
Product::find()->select('Product_id,name')->all()
数据库中的列多于product\u id和name,但本例返回一个填充了所有模型的数组,只填充了product\u id和name属性。这当然是意料之中的,因为我已将它们传递到select()
现在,当在找到的模型中循环并调用$model->getAttributes()时,它返回一个所有模型属性及其值的数组(null用于未选择的属性
我试图验证一部电影的评级是否大于0且小于或等于5,为此,我在RSpec中使用了“be_valid”,当我检查电影标题是否为零时,它似乎起作用,但对评级不起作用
我不明白为什么
型号:
class Movie < ApplicationRecord
validates :title, presence: true
validates :rating, presence: true, numericality: { greater_than_or_equal_to: 0,less_th
我想做一个通用的CActiveRecord,可以在任何桌子上操作。我添加一个类memeber$table并重写tableName()
在最后一步中,我覆盖c-tor:
public function __construct($table , $scenario = 'insert')
{
$this->table = $table;
parent::__construct($scenario);
}
CActiveRecord的c-tor调用一个tableName()
Heroku Cedar stack,具有多个数据库。RDS用于主数据库,Postgres用于第二个分析数据库。服务器使用读/写RDS和Postgres数据库运行。夜间rake任务在不同的环境中运行,需要在RDS数据库的只读从机中运行特定的Resque队列
Postgres数据库连接
记录在案,Postgres数据库中的所有模型包括:
module Trove::PostgresConnection
def self.included(base)
base.class_eval do
我在Rails 3.2应用程序中使用以下作用域:
scope :consumable, lambda { where('expiration_date > ?', Date.today) }
在使用Ruby 2.0的Rails 4中实现相同功能的正确语法是什么?这实际上不是因为Rails 4,而是依赖于Ruby版本。
scope :consumable, -> { where('expiration_date > ?', Date.today) }
我从数据库中获取结果列表。然后我运行了一个if语句来删除一些结果,但是我不想从数据库中删除对象,只想从我提取的结果列表中删除
那么,删除的替代方法是什么呢
或者最好只限制搜索结果,但我不知道如何将这两个条件组合成一行:
results = where('title LIKE ?', "%#{search}%")
((event.edate - Time.now)/60).round.to_i > 0.to_i
有人能帮我解决这个问题吗请尝试这样运行:-
results = where('
使用./yii helper/models生成基础模型时,我得到了重复的方法
我知道为什么会发生这种情况,但我需要一个解决方案,该解决方案在保持类似的数据约束的同时仍然正确地生成yii2基本模型
样本数据结构
警报(assignedTo,createdBy)->这两个字段都是UserId的外键
./yii helper/models将在UserBase中生成这些方法
public function getAlerts()
{
return $this->hasMany(\app\m
我的课程如下:
class Child < ApplicationRecord
belongs_to :father
belongs_to :mother
end
class-Child
Rails3不推荐使用某些方法。
下面的通话就是这种情况
Error.find(:all, :select => 'DISTINCT type')
有人知道如何将此调用转换为ActiveRecord3有效语句吗
我在网上什么也没找到
谢谢只需使用新的查询方法即可
Error.select('DISTINCT type')
如果您试图针对PostGreSQL数据库获取一组不同的返回值,则必须使用:
Error.select('DISTINCT ON(type)')
如果您的应用程序位于
我已将我的应用程序从rails 2.3.8升级到3.0.3。但我面临一个问题。我使用的是“查找”,但覆盖在rails 3中不起作用:
# override activerecord's find to allow us to find by name or id transparently
def self.find(*args)
if args.is_a?(Array) and args.first.is_a?(String) and (args.first.index(/[a-z
我在这个问题上被困了很长一段时间:
class Something< ActiveRecord::Base
table_name= "different_name"
end
这没问题,只是声明set_table_name“也别名为:table_name=”
现在,我对rails还不熟悉,但“也有别名”是什么意思呢?或者这只是一个bug?要使用该表单,您需要执行self.table\u name=“different\u name”。这是一个ruby的东西:它分配一个局部变量table
我已经缩小了问题的范围
这条线有效
ActiveRecord::Base.connection.schema_search_path = ["11", "public"].join(",")
但这条线不行
ActiveRecord::Base.connection.schema_search_path = [workspace.id.to_s, "public"].join(",")
即使workspace.id==11
需要明确的是,“workspace.id”不会在循环的每次迭代中都得到
我有两个简单的类Company和Votings,我用rspec测试它们
当我向一家公司添加投票时,它将通过activeRecord进行计数
class Company < ActiveRecord::Base
attr_accessible :name, :votings_count
has_many :votings, :dependent => :destroy
end
该列不是零。默认值=0
add_column :companies, :votings_count,
在我对一个表进行了迁移之后,我刚刚遇到了一个问题,我在项目表中添加了owner字段,但在我请求它时它并没有出现(project)
迁移后的预期响应:
我得到:
这是我的迁移文件
class AddOwnerRefToProjects < ActiveRecord::Migration
def change
add_reference :projects, :owner, index: true
end
end
class AddOwnerRefToProj
我有一个模型,我想在保存后获取该模型字段的旧值,我使用的是getOldAttribute()方法,它总是返回最新的值
代码示例
class User extends ActiveRecord
{
public function fields()
{
return [
'id',
'name',
'email' //old value: example@example.com
];
}
我在Sinatra项目中只使用ActiveRecord。
不推荐使用使日志静音的旧方法:
ActiveRecord::Base.logger.silence do
# do a lot of querys without noisy logs
end
新的消音器移到了ActiveSupport,我不知道如何使用它。我应该包括它还是其他什么
我想问我是否需要在我的应用程序中执行此查询
select qty, type from tItem where qty=0 and (type=1 or price=100)
如何在CodeIgniter中使用活动记录
因为如果我这样做了
$this->db->where('qty','0');
$this->db->where('type','1');
$this->db->or_where('price','100');
查询结果如下
select q
我想,我用autocomplete选择食物的名称,在autocomplete中显示选定食物的名称,在other textfield中显示选定食物的calory,在我的表格中用activerecord选择选定食物的id记录
我使用自动完成功能成功选择食物并填写其他textfield食物的计算,但我不会在我的表格中记录此食物id
我有一张桌子,Yemekler
此表的字段;我是耶梅卡迪·尼特利吉·卡洛里
当我点击提交按钮时,我想在我的数据库中记录所选食物的id。但表格会将食物的名称记录在案。由于该值
我有一个桌子使用者
身份证
用户id
活动标识
地位
我需要显示具有特定用户id和活动id的所有数据。我正在尝试
用户::按用户id和活动id(“5”、“11”)查找
但它只给出了一个记录
如何获取所有值?您没有给出太多的信息,但是如果使用Rails 4,也许您可以尝试返回一条记录:
User.find_by(user_id: 5, activity_id: 11)
或
请使用以下查询获取具有特定用户id和活动id的所有记录
User.where(user_id: 5, activity_
我正在开发一个未发布的gem,它在Rails中正常工作。它有一个需要包含在ActiveRecord::基类中的模块
我的Sinatra应用程序如下所示:
# app.rb
require 'rubygems'
require 'sinatra'
require 'sinatra/activerecord'
set :database, "sqlite3:project-name.sqlite3"
get '/' do
@users = User.all
erb :index
end
我一直在尝试在前端实现关联,但目前的应用程序没有任何数据库直接连接到网站,因此我们不能使用ActiveRecord,只能使用ActiveModel来支持模型的验证和核心功能。现在,由于我们需要使用嵌套属性,我们将与对象一起发送,与用户关联的地址,因此我们需要首先在相应的模型上定义关联。但在定义了关联之后,它抛出了用户模型上未定义方法“has_many”的异常。我目前正在搜索如何在我们的网站上实现它,并实现嵌套属性的逻辑。
如果您能向我推荐与此相关的任何内容,或者您过去曾遇到过此类问题,那将是非常
我可以用下面的代码创建postgresql视图吗?有必要吗?因为现在加载只需几秒钟,但将来我必须在上面添加日期范围。如果是的话,请有人帮我写一下
report = self.project_reports
results_total = report.where('value < ?', 50).group("key_id").select('key_id')
fifty = report.where('value BETWEEN ? AND ?', 41,
我有以下两个表:用户表、项目表
用户有很多项目
项目属于用户
当我运行以下命令时
Project.find_by_sql("SELECT projects.*, users.is_admin
FROM projects
JOIN users ON users.id = projects.user_id
WHERE projects.id = 1")
生成的对象仅包
我有一个销售信息表,每个产品一年中每个月都有12条记录。唯一独特的价值是销售总额
#<AccountMarginTarget id: 1, product_id: "123", sales: 2000>
#<AccountMarginTarget id: 2, product_id: "123", sales: 50>
#<AccountMarginTarget id: 2, product_id: "123", sales: 37>
我有一个行业表,并一直跟踪它的竞争对手,这也是行业。这是通过一个映射表industry_competitors实现的,该表具有industry_id和competitor_id。我希望书面记录跟踪行业竞争对手的关联和分离
class Industry < ApplicationRecord
has_many :industry_competitors, dependent: :destroy
has_many :competitors, through: :industry_com
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 20 页