亚音速3.0 ActiveRecord-首选方法构建对象图?

假设我有一个带有线程、帖子和标签的论坛系统。 其结构与StackOverflow相同:线程与POST有1-many关系,标记与线程有多个关系 (简化)表格: 所以亚音速ActiveRecord模板为我生成类 代码 对于首页,我需要获得一个线程列表,并将其相关标签列表附加到每个线程。撇开帖子数不谈,检索标签和构建对象图的最佳方法是什么 如果我得到如下线程: var threadQuery = Thread.All().Skip(x).Take(n); var threadList = thread

Activerecord 示例表的多个模型类

我们的一些模型文件已经变得非常大,我的任务是将功能拆分为单独的模块 我不确定是否可以使用在同一个表的不同模块中声明的多个模型类 我试过在不同的模块中使用不同的类,除了小心调用哪个模型类之外,这似乎很有效,但是我不确定这是否是一个好的实践,或者是否会有任何需要担心的复杂情况 文件在这方面有点含糊不清 我的当前模型在protected/models/MyModel.php 我想把这个分成几个部分 protected/modules/Moduel1/models/MyModel.php和 protec

Activerecord Rails 4活动记录查找器方法

我有一个Rails3活动记录查找器方法,我正在尝试将其更新为Rails4模式 在Rails 3中,我的代码如下所示 StripeEvent.setup do subscribe 'customer.subscription.deleted' do |event| user = User.find_by_customer_id(event.data.object.customer) user.expire end end 在Rails 4中,我尝试了这个,这段代码正确吗

CodeIgniter ActiveRecord问题

我正在尝试在CodeIgniter上构建我的第一个应用程序。这也是我第一次尝试尽可能地坚持OOP和MVC。到目前为止一切正常,但现在我正试图写我的第一个模型,我遇到了一些麻烦。下面是我得到的错误: 发生数据库错误 错误号码:1064 您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第3行“Castledine”附近使用的正确语法 从(authors)中选择*其中author=Earle Castledine 如下所示,这与我的模型中的以下行有关: $this->db-&g

如何在heroku上增加ActiveRecord线程池大小

通常我会将池大小设置为 development: adapter: postgresql encoding: unicode database: openkitchen_development username: rails host: localhost pool: 10 password: 在database.yml中。但是,heroku将替换配置文件。我用女孩星期五来 做后台数据库工作,需要增加线程池大小。这不是很简单,但您可以尝试创建自己的构建包 你将需要分

Yii框架:如何使用CActiveRecord.beforeFind()?

我需要在CActiveRecord的子类中使用beforeFind() 基本上,在数据库中执行实际搜索之前,我需要转换数据库中的一些数据 如何在beforeFind()中更改即将发生的查找操作?混用$this属性是没有用的,因为它甚至没有填充,这有点令人惊讶。 我看到文档中提到了一个“隐藏的CDbCriteria参数”,但我猜不出该如何使用它。不幸的是,关于这个主题的文档很少 我需要做的很简单:我有一个用于存储IP地址的表列。从可伸缩性的角度来看,最有效的设计是为列使用VARBINARY(16)

在YII框架中findAll调用后向activerecord添加属性

我正在调用findAll方法,得到4个字段。现在我想再添加一个名为$owned的字段。 这意味着在我从表中获取记录之后,结果数据记录应该包含owned字段。 此外,$owned字段是动态的,取决于用户是否是组的所有者。我试着用afterFind。但它也不起作用。令人惊讶的是,它将attributed$owned添加到对象中,而不是添加到属性中。 我正在控制器中使用CJSON::encode$model查看输出。未显示$owned字段。 下面是代码 /** * * The followings a

Activerecord rails 2通过分页限制加载记录,而不使用分页gem,而是使用活动记录查询

我正在使用Rails2应用程序,我需要处理8000条记录并在表中显示它们 我需要限制装载记录 就像8000条记录一样,我想显示10条记录,然后只显示10条记录,然后单击下一步按钮,应该显示下一条10条记录 喜欢分页,但无法进行分页,因为它一次加载所有8000条记录。而且需要花费太多时间 我认为补偿和限制对我有帮助,但我不知道如何使用它 我的基本查询是 @users=@client.users 我也尝试了datatable服务器端,但它不起作用 请帮帮我。 感谢使用Will_paginate ra

Activerecord Yii 2,活动记录,带

如何根据关系表中的条件获取一组数据 在yii1中,我可以使用with()和'on'语句。这在yii2中不起作用,或者我找不到任何好的例子。 例如,在Yii 1中,我可以这样写: $criteria = new CDbCriteria(); $criteria->with = array('works'=>array('on' => 'works.user_id=t.id AND (works.work_id=$SOMEVALUE OR ...)')); 我尝试了类似的方法(u

Activerecord Yii2活动记录模型未保存数据

我构建了一个简单的表单模型&视图、一个简单的AR模型和一个简单的控制器。表单模型为AR实例指定了正确的值,但是当我调用save()时,这些值都不会保存在DB中。有什么想法吗 表格模型: <?php namespace app\models; use Yii; use yii\base\Model; class PromptForm extends Model { public $name; public $intro; public $prompt;

Activerecord Yii2:活动记录-joinWith是否已优化?

请让我从下面的例子开始: 我有三张桌子: users(id,name,family) roles(id,user_id,chart_id,name,code) chart(id,name) 关系: users-roles = 1-n roles-users = 1-1 roles-chart = 1-1 Yii活动记录类别: class User extends ActiveRecord { public function getRoles(){ return $th

Activerecord 嵌套注释Yii2

我有一个评论表,如下所示: +-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+----------------+ | id | int(11) |

Activerecord mysql2销毁错误

我正在尝试使用类似于的调用销毁一个对象 MyObject.destroy_all({:user_id => current_user.id, :item_type_id => params[:type_id], :item_id => params[:item_id]}) Rails将其生成为SQL命令: User Load (0.5ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 MyObje

ActiveRecord是否有方法返回调用的find以外的其他类的实例? 我们考虑下面的例子: class Ball < ActiveRecord::Base def is_ball? true end end class BlueBall < Ball def color :blue end end class RedBall < Ball def color :red end end class-Ball

当我执行Ball.find(id)时,是否可以返回BlueBall的实例 使用Ball.where(所有者:某个用户)。要使用BlueBall和RedBall实例,我可以获得一个数组吗 我正在寻找一种方法来显式地设置STI,方法是使用类型以外的一些列,如果可以将类重命名为红色和蓝色,而不是红球和蓝球 def Ball < ActiveRecord::Base self.inheritance_column = :color def ball? is_a?(Ball)

在查找之前实现ActiveRecord

我正在使用缓存在表中的关键字构建搜索。在表中查找用户输入的关键字之前,它是标准化的。例如,删除了一些标点符号,如“-”,并对外壳进行了标准化。然后使用规范化关键字查找和获取搜索结果 我目前正在使用before_过滤器在控制器中处理规范化。我想知道是否有办法在模型中实现这一点。概念上类似于“before_find”回调的方法可以工作,尽管对于实例级别来说没有意义 您可能不想通过覆盖find来实现这一点。覆盖像find这样的东西可能会让人头疼 您可以创建一个类方法来完成您需要的工作,例如: clas

Activerecord Codeigniter num“行返回”;数组";而不是数字

好的,我正在尝试计算“会员资格状态”=活动的所有行。我现在得到的结果是“数组”而不是数字 这是我的模型 class Report_model extends Model { function count_members() { $query = $this->db->get_where('Membership', array('Membership_Status' => 'Active')); return $query->num_rows(); } } 类报表模型扩展了类报表

Activerecord rspec重新加载对象清除有多个集合

我在不同的项目中间歇性地遇到过rspec重新加载ActiveRecord对象,然后清除关联对象的问题 失败规范的一个例子如下:忽略测试的优点,这是一个简化的例子: # Message has_many :message_attachments # MessageAttachment belongs_to :message describe Message, 'instance' do before(:each) do @it = Factory(:message) (1..

Activerecord 子类中的Yii模型行为继承了AR模型类

我已经实现了一个cryptbehavior类,它可以附加到AR模型,这样附加的属性将以加密的形式存储,并以解密字符串的形式检索 class User extends CActiveRecord { public function behaviors() { return array( 'crypt' => array( // this assumes that the behavior is in the f

Activerecord Heroku推送时数据库URL无效-Heroku错误,现已修复

编辑: 这是Heroku的一个临时错误,他们已经修复了 我对heroku的推送/部署在上周运行时失败。这是一个sinatra应用程序,在cedar堆栈上使用activerecord 我能够在Heroku中部署并运行我的应用程序好几次。我用的是postgres和cedar stack 我对app.rb进行了一次空格更改,并按下了按钮,但该按钮未被接受 该应用程序目前正在使用上周的代码在服务器上运行。它正在使用数据库,所以它可以看到它 Heroku info和Heroku config正确列出了数据

Yii2在未提交事务中更正行为activerecord关系

将应用程序从yii 2.0.2升级到yii 2.0.35后,在未提交事务中通过连接表获取关系时出现问题 示例3具有活动记录“A B C”的表 AR“A”通过AR“B”与AR“C”有关联 这里有一个示例代码 $dbTransaction = A::getDb()->beginTransaction(); try { // record in junction table "B" not exist $c = $a->

Activerecord 亚音速3-从脏列中检索值

我正在使用亚音速3.0.0.4和ActiveRecord T4模板。 我正在连接OnSaving并获得一个即将保存的脏列列表。 我不知道如何获取每个脏列的值。有人能帮忙吗 TIA-Mike我没有找到任何直接的方法来获取脏列值 但是你可以试着去得到它 尝试以下方法: // item is the entity List<IColumn> lst = item.GetDirtyColumns(); var res = from p in item.GetType().GetPropert

Activerecord 与macruby兼容的简单持久性框架?

我在使用macruby和ActiveRecord(w/sqlite3)或。还有其他建议吗?我需要一个简单的轻量级持久性机制来嵌入到我的应用程序中,该机制可以处理不到5个表,最多可以处理数万行。以下组合有效: MacRuby 0.8 sqlite3-ruby gem 1.3.2 sequel gem 3.18.0 OSX 10.6.5 诀窍是卸载'sqlite3'gem并安装'Sqlite3Ruby'。 MacRuby 0.12 sqlite3-ruby gem 1.3.2 sequel gem

Activerecord 它';有可能扩展AR关系吗?

我想知道是否有一种方法可以创建我自己的AR关系规则或扩展现有的HAS\u MANY、Bown\u等 谢谢。每个AR关系都是用相应的类创建的 const BELONGS_TO='CBelongsToRelation'; const HAS_ONE='CHasOneRelation'; const HAS_MANY='CHasManyRelation'; const MANY_MANY='CManyManyRelation'; const STAT='CSta

Activerecord 为什么我的加入仍然会触发活动记录中的n+1选择?

PortfolioEngine::Portfolio Load 0.3ms选择Portfolio_engine_公文包。*从Portfolio_engine_公文包内部连接Portfolio_engine_公文包上的项目。Portfolio_id=Portfolio_engine_公文包。id按Portfolio_engine_公文包排序。排序指数ASC,Portfolio_engine_公文包排序指数ASC,组合\引擎\项目。排序\索引ASC PortfolioEngine::Item Loa

ActiveRecord测试大于/小于内部哈希条件

问题:如果联接表的属性大于/小于某个值,是否可以在哈希条件下进行测试 示例:测试参与者年龄是否大于ageVariable: 是否可以写入而不是数组条件的: ageVariable = 36<br> Movie.includes(:actors).where("actors.age > ?", ageVariable) 使用散列条件只能进行相等、范围和子集检查 ageVariable = 36 Movie.includes(:actors).where(:actors =

Activerecord 从关联复制ID

我有3个模型,见下面的结构。模型线索属于页面和用户。创建新lead时,如何将lead的用户id保存到lead,如下所示: p = Page.first p.leads.new(:email => 'test@test.com') p.save 这显然只会在Lead模型的新实例上设置页面id。是否有其他方法可以自动将用户id复制到lead,而无需在创建之前创建:检查用户id筛选器 数据库结构为: User - id Page - id - user_id Lead - email -

Activerecord 从TypeForm中的列名数组中查找列结果的位置

目前我有以下疑问: return await this.siteRepository.find({ where: [{ id: Like(`%${q}%`) }, { name: Like(`%${q}%`) }] }); 但是我希望能够从数组中传递用于查询的列名列表,而不是手动写入每个列名 const columns = ["id","name", "lastName", "age"] const query = {}; return await this.siteRep

Activerecord 自制/TinyTDS/FreeTDS捆绑包错误

我使用自制(linux端口)安装freeTDS,并尝试使用gem tinytds部署/捆绑安装我的应用程序。我在安装捆绑包时得到这个错误输出 Installing tiny_tds (0.5.1) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /home/deployer/.rbenv/versions/1.9.2

Rails 3:在ActiveRecord模型中处理来自DB适配器的异常

这就是我想要做的;我认为这是一个常见的问题,但不知为什么我找不到任何相关的话题 我有一个具有作用域唯一性约束的模型。我决定在迁移过程中在表上定义一个唯一的索引,如下所示: class CreateLossRatios < ActiveRecord::Migration def up ... add_index :loss_ratios, [ :tool_id, :ends_at ], :unique => true end def down ..

Activerecord 带范围kaminari分页的全文搜索

我遵循了RailsCast的简单搜索表单和Heroku的全文搜索说明,正在使用pg_搜索gem 我试图在保留为索引设置的范围的同时搜索我的microposts 这是我的microposts\u controller.rb索引操作 def index #@microposts = Kaminari.paginate_array(Micropost.popular).page(params[:page]).per(25) @micropost = current_user.micr

Activerecord Rails 4路径_到未知类型的活动记录对象

link_to将非常聪明地找出活动记录对象的类型,并创建指向其显示路径的链接。如何找到未知对象类型的此路径。我想要点像这样的东西 <div id="target_path" data-path="<%= path_to @my_polymorphic_instance %>" ></div> def path_to obj url_for( :controller => obj.class.to_s.underscore.pluralize,

Activerecord 需要活动记录4.1.8会给出警告

我升级到4.1.8,现在当我打开控制台会话并执行要求“活动\u记录”时,我得到以下输出: [1] pry(main)> require 'active_record' /Users/fzondlo/.rvm/gems/ruby-2.0.0-p195/gems/bigdecimal-1.2.5/bigdecimal.bundle: warning: already initialized constant BigDecimal::BASE /Users/fzondlo/.rvm/gems/r

Yii ActiveRecord和缓存中的beforeFind()

在一些模型类中,我想实现缓存。我想这样做: UsersModel::model()->findByAttributes([...]) 在该类中,我希望在forefind之前重写方法,以便首先将请求发送到缓存服务器,但该方法似乎不接受任何附加参数,也不具有具有属性的对象 在顶级代码中添加附加条件/检查,例如: $response = Yii::app()->cache->get('userUserLogin'); if(empty($response) == true) {

Activerecord Ruby On Rails:Active Recode方法Save在链接控制器中调用时未定义,

我正在使用RubyonRails应用程序,当我试图从活动记录调用Save方法来填充到数据库的新链接时,我遇到了以下错误。这是出错的代码,它位于my LinksController类中的Create方法中: def create @link = Link.new(params[:link]) respond_to do |format| if @product.save format.html { render :action => "create" }

Activerecord yii框架如何创建多语言活动记录

如何在Yii框架中创建多语言活动记录? 因此,在我的CRUD->create/update中,我可以输入例如英文和荷兰语的标题看看国际化: 通过在配置文件中设置language参数,可以指定要使用的语言。用 Yii::t('langfile','message to translate'); 有关数据库中的翻译,请参阅: 一旦一切就绪。您可以为翻译创建CRUD操作,就像为其他数据库表创建CRUD操作一样 教程/更多信息: 最后我使用了这个类: CDbMessageSource解决方案但

Activerecord Rails 4.0.3:after_save回调调用得太早了吗?

考虑到下面两个类Customer和Order,我有一个问题,我已经将问题缩小到我正在使用的回调的执行时间 使用回调的原因是,我需要存储每个客户的聚合差异,而不必每次迭代他/她的所有订单。因此,我意识到使用回调可能是一种好方法,首先在每次保存之前更新每个订单上的差异,然后在每次保存订单之后更新客户模型上的聚合差异 我得到的症状是奇怪的、看似随机的错误,它告诉我两份订单之间的差额(总计238美元)是15美元。当我将调试器限制在受影响的客户时,我意识到它只是跳过下面的orders.each循环(但仅在

Activerecord Sinatra数据库错误-rake中止未初始化常量EN

全新的Ruby/Sinatra/Rails工具,并基于 在我尝试通过以下命令行创建数据库之前,一切都运行得很顺利:rakedb:create\u migration NAME=create\u model 我得到的错误如下: rake aborted! uninitialized constant EN (erb):4:in `<main>' /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0

yii2使用activerecord规则将连接的字符串插入数据库

我有一个表单,用户在其中选择一些选项,我想根据用户输入在DB中插入一个附加的连接字段。我需要在场景创建(和更新)时执行此操作。例如: 我试过这样做: 型号: class Xyz extends BaseXyz { const SCENARIO_CREATE = 'create'; public function rules() { ... ['concatenated', 'generateConcatenated', 'on' => s

Activerecord yii2为每个查找添加where条件模型

在Yii2中,我试图更改ActiveRecord模型,以便每次应用程序运行find()或findAll()时,它也会向条件添加额外的where 例如,应用程序对股票模型调用find()方法: $UsersStockFound = Stock::Find() ->where(['stockActive' => 1]); 所以,这就是我想要实现的,我希望模型在用户看到结果之前添加一个额外的条件。 让我们假设我已经在$this->tenant下存储了tenant ref 所以我想把它添加

Activerecord yii中没有主外键关系的关系型Ado

我有两张桌子。一个是组,另一个是框架。 组的id、名称、所有者为列。 grouppage具有id、名称和用户id。 用户可以拥有组页面。如果用户是组的所有者,则可以编辑页面。表示用户id=所有者。否则,用户无法编辑组页面。 因此,我有一个名为can_edit的公共属性。如果user_id=owner,则为真。 现在我想使用关系ADO连接这两个表。但是我该怎么做呢?因为我必须将grouppage表中的用户id连接到组中的所有者。所有者和组id都不是主键 有什么解决方案/想法吗 多谢大家 Smith

ActiveRecord::AssociationRelationSQL变量求值

我陷入了一个非常奇怪的问题。在我的项目中,我使用“加载资源”和“授权资源”从数据库中检索信息。 更准确地说,我有ItemsController和action索引。在这个动作中,我有一个实例变量@items,它属于ActiveRecord::AssociationRelation类。如果我将任何参数传递给操作索引,例如ID数组,它将自动合并到此变量。但是@items.to_sql返回以下结果: SELECT "items".* FROM "items" WHERE "items"."user_i

Activerecord CONCAT_WS不处理select语句

我想把“firstname”和“lastname”连接起来,就像这个“firstname lastname” 在执行搜索查询时 这是我的密码: $query = Contact::find() ->select([ "CONCAT_WS(' ', firstname, lastname) AS name" ]) ->where('(firstname like :fname) OR (lastname like :lname) OR (emai

Activerecord 获取相关模型中的最后一条记录

我有两个模型:个人模型和租借模型 人员表字段: 身份证 名字 RentedItem字段: 摆脱 电影识别码 租期 我需要添加一个新属性的人模型,其中包含最后的租金日期,但我不知道如何。我已经有了一个getRentDates方法,其中定义了许多关系 你能帮我吗 谢谢。准备以下关系: public function getLastRentItem() { return $this->hasMany(RentItem::class, ['rid' => 'id'])

Activerecord 如何使用hasOne和onCondition创建关系查询?

因为我有一个索引(user\u id,lesson\u id),所以我想用该索引进行查询 对于图像,它不使用索引,对吗 注意:用户ID它是一个整数值,而不是一个字段 //the following SQL it is my expecting: //not generate by php code. just show a example for what to do. LEFT JOIN `user_lesson_order` ON ( //user_id is current log

Activerecord Yii2-GridView显示“;(未设定)“;如果是相关型号';s列位于列表中,正在进行筛选

我有两张桌子/型号电脑和主板 计算机-具有以下列/字段: 身份证 名字 主板Id 序列号 主板-具有以下列/字段: 身份证 名字 类型 序列号 这些模型是一对一的关系 在计算机模型中,我有以下方法: public function getMainboard() { return $this->hasOne(Mainboard::className(), ['id' => 'mainboard_id']); } 该视图包含以下GridVie

Activerecord Rails 4.0-如何基于子对象的ID获取对象集合?

我正在尝试创建一种搜索功能,以获取所有当前_用户的成员,这些成员都有一个关联的游戏,具有特定的id 我试过: @members = current_user.members.where(:games.id => params[:id]) 但我得到: undefined method `id' for :games:Symbol 在Rails中如何实现这一点 更新:模型关联 类成员:销毁 有很多:游戏,:通过=>:游戏\u成员,:uniq=>正确 结束 类GamesMembers:gam

上一页   1   2   3   4   5    6  ... 下一页 最后一页 共 20 页