标签: relationship

如何在WPF中从DataGridCell中找到它的所有者DataGrid和DataGridRow?

在DataGrid的Command的事件处理程序中,我在ExecutedRoutedEventArgs中获取DataGridCell.但是,我无法弄清楚如何获取其关联的DataGrid和DataGridRow.非常感谢您的帮助.

wpf datagrid relationship

15
推荐指数
2
解决办法
1万
查看次数

CoreData可选的多对多关系永远不会是零?

Quirk我刚刚发现,并想与这里的任何人确认这是否可以避免.基本上,如果我有一个非常简单的两个实体模型:

在此输入图像描述

随着之间的一对多关系Entity1Entity2.该关系是可选的,在双方都是nullify作为删除规则.但是,如果我插入一个新Entity1children关系值将是一个空集,而不是nil:

NSManagedObject *object = [NSEntityDescription
                           insertNewObjectForEntityForName:@"Entity1"
                           inManagedObjectContext:[self managedObjectContext]];
assert([object valueForKey:@"children"] != nil);
Run Code Online (Sandbox Code Playgroud)

此外,我无法明确将关系设置为nil:

[object setValue:nil forKey:@"children"];
assert([object valueForKey:@"children"] != nil);
Run Code Online (Sandbox Code Playgroud)

我已经在一个新的,最小的项目中验证了这一点,这似乎是一个真正的实现细节.问题是,我希望能够区nil分值(表示当前未知)和空集(真正的零到零关系).CoreData是否真的以合理直接的方式支持这一点?目前似乎没有,这意味着我将不得不寻找另一种(不太直接)的方式来表示我的模型.

谢谢,

Ĵ

null core-data one-to-many relationship nsmanagedobject

15
推荐指数
1
解决办法
1512
查看次数

Rails,如何避免关联中的总数(count,size,counter_cache)的"N + 1"查询?

我有这些型号:

class Children < ActiveRecord::Base
    has_many :tickets
    has_many :movies, through: :tickets
end


class Movie < ActiveRecord::Base
    has_many :tickets
    has_many :childrens, through: :tickets
    belongs_to :cinema
end


class Ticket < ActiveRecord::Base
    belongs_to :movie, counter_cache: true
    belongs_to :children
end


class Cinema < ActiveRecord::Base
    has_many :movies, dependent: :destroy
    has_many :childrens, through: :movies
end
Run Code Online (Sandbox Code Playgroud)

我现在需要的是在"电影院"页面中我想打印儿童电影的总和(数量,大小?)仅仅是为了电影院的电影,所以我写了这个:

  • 在cinemas_controller.rb中:

@childrens = @cinema.childrens.uniq

  • 在电影院/ show.html.erb中:

<% @childrens.each do |children| %><%= children.movies.size %><% end %>

但显然我有一个子弹宝石警告我Counter_cache我不知道在哪里放这个counter_cache因为电影的不同id.

而且没有counter_cache我所拥有的并不是我想要的东西,因为我想要计算那个电影中有多少孩子从那个电影院的门票中取出它们.

如何?

UPDATE

如果在我看来我使用此代码:

<% @childrens.each do |children| %>
  <%= children.movies.where(cinema_id: @cinema.id).size …
Run Code Online (Sandbox Code Playgroud)

ruby activerecord ruby-on-rails relationship ruby-on-rails-4

15
推荐指数
4
解决办法
3502
查看次数

如何在像MySQL这样的RDBMS中存储双向关系?

假设我想在我的应用程序的用户之间存储关系,类似于Facebook本身.

这意味着如果AB的朋友(或某种关系),那么B也是A的朋友.为了存储这种关系,我目前正计划将它们存储在关系表中,如下所示

  UID      FriendID
 ------    --------
 user1      user2
 user1      user3
 user2      user1
Run Code Online (Sandbox Code Playgroud)

但是我在这里面临两个选择:

  1. 典型的情况,我将存储user1 -> user2user2->user1.这将占用更多空间,但(至少在我的脑海中)只需要一次遍历行以显示特定用户的朋友.
  2. 另一种选择是存储user1->user2OR user2->user1,每当我想找到所有的朋友时user1,我会查询表的两列以查找用户的朋友.它将花费一半的空间,但(至少在我的脑海中)是两倍的时间.

首先,我的推理是否恰当?如果是,那么我是否会忘记任何瓶颈(在扩展/吞吐量或其他方面)?

基本上,两者之间是否有任何权衡,除了这里列出的那些.另外,在工业中是一个优先于另一个?

mysql database-design relational-database relationship

14
推荐指数
2
解决办法
5337
查看次数

MySQL/PHP:通过tag/taxonomy查找类似/相关项目

我有一个城市表,看起来像这样.

|id| Name    |
|1 | Paris   |
|2 | London  |
|3 | New York|
Run Code Online (Sandbox Code Playgroud)

我有一个看起来像这样的标签表.

|id| tag            |
|1 | Europe         |
|2 | North America  |   
|3 | River          |
Run Code Online (Sandbox Code Playgroud)

和cities_tags表:

|id| city_id | tag_id |
|1 | 1       | 1      | 
|2 | 1       | 3      | 
|3 | 2       | 1      |
|4 | 2       | 3      | 
|5 | 3       | 2      |     
|6 | 3       | 3      |
Run Code Online (Sandbox Code Playgroud)

如何计算哪个是最密切相关的城市?例如.如果我正在看城市1(巴黎),结果应该是:伦敦(2),纽约(3)

我找到了Jaccard索引,但我不确定如何最好地实现它.

php mysql tagging relationship

14
推荐指数
2
解决办法
3521
查看次数

当我在Ember-Data中更改hasMany/belongsTo关系时,如何使父文件变脏?

现在,我对Ember Data的主要问题是,当我改变一个关系(hasMany或belongsTo)时,父亲不会变脏.

我需要这个因为:

  • 我依赖于isDirty属性来显示保存/取消按钮
  • hasMany和belongsTo ids与父级一起发送,因此父级实际上脏的.

此外,当我回滚父级时,仅还原belongsTo关系.hasMany型号保持不变.

我发现这个问题涉及一个dirtyRecordsForHasManyChange钩子,但这似乎不存在于Ember Data v1(v1.0.0-beta.3,这就是我正在使用的)中.

我怎么能做到这一点?

谢谢.

relationship ember.js ember-data

14
推荐指数
2
解决办法
4134
查看次数

仅删除有多个关系

我有一个: has_and_belongs_to_many :friends, :join_table => "friends_peoples".

要添加我做的朋友:@people.followers << @friend创建关系和新人员个人资料.

现在我想删除关系,而不是个人资料.

我尝试了@people.friends.delete(guilty.id)但删除了个人资料而不是关系.

任何的想法?

ruby-on-rails has-many relationship

13
推荐指数
1
解决办法
6244
查看次数

backbone.js - 以RESTful方式处理模型关系

我正在使用backbone.js

例如,假设我们有一个"产品"模型和一个具有多对多关系的"类别"模型.在我的一个观点中,假设我需要检索所有类别的列表,并知道每个类别是否与当前产品模型相关.

我是否设置了"类别"集合并将其作为我的模型的属性,并以某种方式让它访问模型的ID,以便在获取时,它只获取相关的类别?然后我可以获取所有类别并交叉检查它们以查看哪些类别相关,同时还有那些不相关的类别?

我不知道最好的办法是什么.我习惯使用ORM,这在服务器端很容易.

javascript orm model relationship backbone.js

13
推荐指数
2
解决办法
9362
查看次数

SQLAlchemy声明+跨多个不同数据库的关系

我花了一段时间,但我想出了如何使用SQLAlchemy来模拟两种不同类型的数据库之间的关系:

Base = declarative_base()

class Survey(Base):
    __tablename__ = 'SURVEY'

    survey_id = Column("SURVEY_ID", Integer, primary_key=True)
    term_id = Column("TERM_ID", Integer, nullable=False)

    # Because the TERM table is in Oracle, but the SURVEY table is in
    # MySQL, I can't rely on SQLAlchemy's ForeignKey.  Thus,
    # I need to specify the relationship entirely by hand, like so:
    term = relationship("Term",
        primaryjoin="Term.term_id==Survey.term_id",
        foreign_keys=[term_id],
        backref="surveys"
    )

class Term(Base):
    __tablename__ = 'TERM'

    term_id   = Column(Integer, primary_key=True)
    term_name = Column(String(30))
    start_date = Column(Date)
    end_date = Column(Date)

mysql_engine …
Run Code Online (Sandbox Code Playgroud)

database sqlalchemy declarative relationship

13
推荐指数
2
解决办法
3235
查看次数

在Laravel工厂模型中添加关系

我正在尝试添加一个工厂模型的关系来做一些数据库种子,如下所示 - 注意我正在尝试为每个用户添加2个帖子

public function run()
{
   factory(App\User::class, 50)->create()->each(function($u) {
         $u->posts()->save(factory(App\Post::class, 2)->make());
   });
}
Run Code Online (Sandbox Code Playgroud)

但它抛出以下错误

Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::s  
ave() must be an instance of Illuminate\Database\Eloquent\Model, instance 
of Illuminate\Database\Eloquent\Collection given
Run Code Online (Sandbox Code Playgroud)

我认为它与保存集合有关.如果通过分别调用帖子的每个工厂模型重新编写代码,它似乎工作.显然这不是很优雅,因为如果我想坚持10或发布给每个用户,那么我必须decalare 10或行,除非我使用某种for循环.

public function run()
{
   factory(App\User::class, 50)->create()->each(function($u) {
     $u->posts()->save(factory(App\Post::class)->make());
     $u->posts()->save(factory(App\Post::class)->make());
   });
}
Run Code Online (Sandbox Code Playgroud)

*更新*

有没有什么方法可以将模型工厂嵌套到第3层?

public function run()
{
   factory(App\User::class, 50)
       ->create()
       ->each(function($u) {
           $u->posts()->saveMany(factory(App\Post::class, 2)
                    ->make()
                    ->each(function($p){
                          $p->comments()->save(factory(App\Comment::class)->make());
          }));
   });
}
Run Code Online (Sandbox Code Playgroud)

factory relationship laravel-5.1

13
推荐指数
4
解决办法
9070
查看次数