标签: parent-child

Ruby on Rails:创建子对象

我确定这是一个非常简单的问题,但我只是一个新手所以......

我有一个模特,游戏,哪个has_many :piles.反过来,桩has_many :cards.我可以在创建游戏时填充Piles和Cards,所以我的代码目前看起来像:

class Game < ActiveRecord::Base
  has_many :piles

  def after_create
    1.upto(4) do |num|
      Pile.new("game_id" => id, "contents" => "c_type_#{num}")
    end
  end
end

class Pile < ActiveRecord::Base
  has_many :cards
  belongs_to :game

  def after_create
    1.upto(10) do |num|
      Card.new("pile_id" => id, "value" => num)
    end
  end
end

class Card < ActiveRecord::Base
  belongs_to :pile
end
Run Code Online (Sandbox Code Playgroud)

现在这一切都很好,但是"game_id" => id当ActiveRecord 知道 game_id是外键并且应该引用父游戏时传递感觉是错误的.但如果我把它关掉,那么外键最终会被取消.有一个更好的方法吗?

(对于奖金,可能更简单,问题;假设游戏也has_one :monkey.我最好如何在游戏模型中创建猴子?)

ruby ruby-on-rails foreign-keys parent-child

10
推荐指数
1
解决办法
9553
查看次数

Ruby on Rails:在创建父级时使用默认值构建子级

我有父母和孩子的模特关系.在子的migration.rb中,子模型的列各自具有默认值(parent_id列除外).

当我创建一个新的父对象时,我该如何创建它以便创建一个子对象并将其保存到其表中,其中包含来自默认值的数据以及parent_id?

我认为它将与after_create父模型上的某些东西有关,但我不确定如何设置它.

ruby-on-rails parent-child

10
推荐指数
1
解决办法
4042
查看次数

NHibernate.StaleStateException:意外的行数:0; 预期:1

Hl伙计们,

我正忙着为存在的系统编写后端管理程序.我已经为我的数据访问解决方案选择了NHibernate,并且它是相当新的.我在父/子关系中遇到以下错误:

NHibernate.StaleStateException:意外的行数:0; 预期:1

此错误是由于我的源代码中将新的子对象添加到父级的MeetingAdministrators子集合中.当我保存父对象时,我也希望添加子对象,但是只为父对象生成INSERT.Nhibernate不为子节点生成INSERT,而是尝试更新子节点,即使它不存在.因此,它会显示上面显示的错误消息.我已经浏览了网络上的各个地方和这个场景的nhibernate文档,但没有找到任何帮助.大多数代码涉及不属于主键的外键,或者人们似乎正在处理一对一或多对多关系.我需要指定映射和代码,以便在插入父项时,子项也会被插入.请帮忙.

我的数据结构如下:

会议 - 父表

  • MeetingID(pk)(int,identity)
  • 描述
  • 开始日期
  • 活跃
  • 地点

MeetingAdministrator - 子表

  • MeetingID(pk,fk)
  • AdminNetworkID(pk)(varchar)
  • 创建日期
  • 活跃

这是Visual Basic .NET源代码:

<Serializable()> _
Public Class MeetingAdministrator

    Private _MeetingID As Integer
    Public Overridable Property MeetingID() As Integer
        Get
            Return _MeetingID
        End Get
        Set(ByVal value As Integer)
            _MeetingID = value
        End Set
    End Property

    Private _AdminNetworkID As String
    Public Overridable Property AdminNetworkID() As String
        Get
            Return _AdminNetworkID
        End Get
        Set(ByVal value As String)
            _AdminNetworkID = value
        End Set
    End …
Run Code Online (Sandbox Code Playgroud)

nhibernate parent-child nhibernate-mapping

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

从Perl收获子进程

我有一个产生一组孩子的脚本.家长必须等待每个孩子完成.

我的脚本执行类似于以下perl脚本:

#! /usr/bin/perl
use strict;
use warnings;

print "I am the only process.\n";

my @children_pids;

for my $count (1..10){
        my $child_pid = fork();
        if ($child_pid) {  # If I have a child PID, then I must be the parent
                push @children_pids, $child_pid;
        }
        else { # I am the child
                my $wait_time = int(rand(30));
                sleep $wait_time;
                my $localtime = localtime;
                print "Child: Some child exited at $localtime\n";
                exit 0; # Exit the child
        }
}

foreach my $child (@children_pids) …
Run Code Online (Sandbox Code Playgroud)

perl fork parent-child waitpid

10
推荐指数
3
解决办法
8426
查看次数

实体框架 - 添加子实体

实体框架5.0代码首先使用现有数据库.使用电动工具反向设计类.一切都很好.数据库有两个表.一个父项和一个子项,外键返回父ID.ID都是自动增量的int.我添加了许多父记录,现在想要将子记录添加到特定父级.我可以看到这样做的唯一方法是通过在Parents表中搜索名称或其他属性来查找相应的父ID,并返回ID.然后在添加子项时在外键属性中使用该ID.我不想创建一个新的父母,所以这是将孩子添加到现有父母的唯一方法吗?所有的互联网示例似乎都添加了一个孩子,同时添加了一个新的父级,而不是将子级添加到现有的父级.任何帮助将不胜感激

entity-framework parent-child

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

如何在wordpress中获取父页面的所有子页面?

例:

About
--- Menu 1
--- Menu 2
--- Menu 3
--- Menu 4
Run Code Online (Sandbox Code Playgroud)

如果我在页面...我有子页面.但是,如果进入菜单1,所有页​​面都会消失

我需要的是一直看到父页面

目前我有这个代码

<? if (is_page()) {
    $g_page_id = $wp_query->get_queried_object_id();
    wp_list_pages("depth=4&title_li=&child_of=".$g_page_id."&sort_column=menu_order");
   }
?>
Run Code Online (Sandbox Code Playgroud)

谢谢!

解决

我用这个并且工作正常!

<?php
if ( is_page() ) :
    if( $post->post_parent ) :
        $children = wp_list_pages( 'title_li=&child_of='.$post->post_parent.'&echo=0' );
    else;
        $children = wp_list_pages( 'title_li=&child_of='.$post->ID.'&echo=0' );
    endif;
    if ($children) : ?>
        <div class="title">
            <?php
            $parent_title = get_the_title( $post->post_parent );
            echo $parent_title;
            ?>
            <span></span>
        </div>
        <ul>
            <?php echo $children; ?>
        </ul>
    <?php
    endif;
endif;
?>
Run Code Online (Sandbox Code Playgroud)

php wordpress parent-child

10
推荐指数
2
解决办法
3万
查看次数

Fortran 2003/2008中受保护的继承

我正在寻找一种方法来从后代类访问Fortran类的私有组件(Fortran术语中的派生类型).例如,假设类A具有组件x,它被声明为私有.现在考虑继承自基类A的第二个类B.在这种情况下,类B没有对x的直接访问,因此不允许任何尝试访问B%x.我能想到的两个解决方案是:

(1)声明x为公共.但是,这将使x全局可访问,这会滥用数据隐藏,因此作为问题的可接受解决方案被拒绝.

(2)实现获取/设置A%x的过程,例如A%getX()和A%setX().这不仅麻烦,而且还允许(间接)访问程序中的A%x - 不仅仅是在子类中.

我想要的是一种从A的子类访问A%x的方法,但是否则x应该在其他地方不可访问.C++具有"受保护"属性用于此目的,但据我所知,Fortran 2003中的"protected"属性具有不同的含义(它使得A%x在任何地方都可访问并且仅保护其值,这在课堂外不能更改).

inheritance fortran private parent-child

10
推荐指数
2
解决办法
2083
查看次数

未调用子视图控制器旋转方法

摘要

我正在尝试将子视图控制器添加到父视图控制器,并让父视图控制器通知子视图控制器旋转事件.但是,旋转消息不会转发到子视图控制器(这是默认行为).为什么没有发生此默认行为?

环境:iOS 7,XCode 5,OSX 10.9

细节:

我正在按照Apple文档中的说明实现自定义容器视图控制器:"创建自定义容器视图控制器".我正在尝试建立一个转发轮换事件的简单父子关系.总体层次结构完全如图14-1重新绘制的文档中所示:

ParentViewController --------> RootView
        |                       /   \
        |                      /     \
        ?                     /       \
ChildViewController ---> ChildView     \ 
                                        \   
                                    OverLayView
Run Code Online (Sandbox Code Playgroud)

我使用parentViewController中的清单4-1中的代码(unityViewController = childViewController,unityView = childView)来完成此操作:

// In the ParentViewController    
// Called by the Application Delegate in application:didFinishLaunchingWithOptions:
- (void)addUnityViewController:(UIViewController *)unityViewController withUnityView:(UIView *)unityView
{
    [self addChildViewController:unityViewController]; // 1. Establish Child parent relationship

    unityView.frame = self.view.frame;                 // 2. Set the frame (explicitly or with constraints)
    [self.view addSubview:unityView];                  // 2.1 Add the subview AFTER you …
Run Code Online (Sandbox Code Playgroud)

rotation parent-child uiviewcontroller ios container-view

10
推荐指数
2
解决办法
4008
查看次数

实体框架 - 当父记录已存在时,在子表中插入记录

下午好-

我正在使用LINQ to Entity Framework为数据访问层开发Silverlight应用程序.我的n层数据库模型包括大约30个左右的表,其中包含许多多层次的父子关系.最近开始编写我的数据服务和单元测试,并发现在已经定义父表记录时将新记录插入子表的问题.这是我的父表和子表的删节版本:

父母表:

用户
    UserID(PK)
    电子邮件
    密码
    等...

儿童桌:

UserProfiles
    UserProfileID(PK)
    各种个人资料信息...
    用户ID(FK - 用户表)

所以在这一点上,我已经使用Entity Framework为ORM创建了各种类,我希望为我的实体上的CRUD操作创建数据服务.以下是我的方法插入新用户(没有父表引用)的示例代码:

    public User CreateUser(User newUser)
    {
        using (var _context = new ProjectDatabase())
        {
            newUser.CreatedDate = DateTime.Now;
            newUser.ModifiedDate = DateTime.Now;
            _context.AddToUsers(newUser);
            _context.SaveChanges();
        }

        return newUser;
    }
Run Code Online (Sandbox Code Playgroud)

这很好用.我已经为它编写了单元测试,没问题.另一方面,现在考虑我编写的以下数据服务方法,以将新的UserProfile对象插入数据库.首先,我有一个非常相似的数据服务:

    public UserProfile CreateProfile(UserProfile newUserProfile)
    {
        using (var _context = new ProjectDatabase())
        {
            newUserProfile.CreatedDate = DateTime.Now;
            newUserProfile.ModifiedDate = DateTime.Now;
            _context.AddToUserProfiles(newUserProfile);
            _context.SaveChanges();
        }

        return newUserProfile;
    }
Run Code Online (Sandbox Code Playgroud)

这个代码就像其他代码一样编译没有问题.但是,我的单元测试始终失败.这是我的单元测试的代码:

    [TestMethod]
    public void UserProfileCrudTest()
    {
        IProfileDataService …
Run Code Online (Sandbox Code Playgroud)

parent-child entity-framework-4 wcf-data-services

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

android:如何让子视图与父视图重叠?

我需要实现图片中的布局.Parent和Sibling位于垂直LinearLayout中.所以我需要创建一个子视图来重叠它的父级.我可以在android中做到这一点吗?

布局

layout android parent-child

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