Tag: 关系

了解一对多核心数据删除规则

核心数据关系删除规则我有点模糊。 所以如果有人能帮我回答一些关于他们的问题。 我有实体A和B.A与B有多对多的关系,B和A有一对一的关系。 A <— >> B 现在,如果我将A的删除规则设置为Cascade,我知道它将删除与之相关的所有B。 但是如果我把它设置为Nullify,它会把Bs设置为NIL还是将外键设为Nil? 而且我到处关注着从B到A的关系,我应该把它设置为Nullify吗? 那只是在A上排除“B对象”? 或者它将否定与A有关的所有B? 怎么样Cascade? 它会删除所有与A相关的B,还是只删除B? 或者我只是在B到A的关系上使用“No Action”,所以当我删除B时,A不会发生变化,但是对B的引用将不存在? 我很高兴与这些混淆,所以请原谅我的问题。 谢谢。

Laravel保存/更新多对多的关系

任何人都可以帮助我如何保存多对多的关系? 我有任务,用户可以有很多任务,任务可以有很多用户(多对多),我想要实现的是在更新表单pipe理员可以分配多个用户到特定的任务。 这是通过html多selectinput完成的 name="taskParticipants[]" 这里的问题是通过相同的表单(input)可以添加/删除用户,这就是为什么我必须使用sync()。 也许我应该从头开始,但不知道从哪里开始… 这是我的用户模式: public function tasks() { return $this->belongsToMany('Task','user_tasks'); } 任务模型 public function taskParticipants() { return $this->belongsToMany('User','user_tasks'); } TaskController public function update($task_id) { if (Input::has('taskParticipants')) { foreach(Input::get('taskParticipants') as $worker) { $task2 = $task->taskParticipants->toArray(); $task2 = array_add($task2,$task_id,$worker); $task->taskParticipants()->sync(array($task2)); } } } 这是表任务结构的标题|截止date user_tasks id|task_id|user_id

如何从django模板访问多对多“through”表的属性?

从Django文档… 当你只处理简单的多对多关系时,比如混合和匹配比萨饼和浇头,一个标准的ManyToManyField就是你所需要的。 但是,有时您可能需要将数据与两个模型之间的关系相关联。 例如,考虑跟踪音乐家所属的音乐组的应用的情况。 一个人和他们所属的小组之间有多对多的关系,所以你可以使用ManyToManyField来表示这种关系。 但是,关于您可能想要收集的会员资格有很多详细信息,例如join该组的人员的date。 对于这些情况,Django允许您指定将用于pipe理多对多关系的模型。 然后可以在中间模型上添加额外的字段。 中间模型使用through参数与ManyToManyField关联,指向将作为中介的模型。 对于我们音乐家的例子,代码看起来像这样: class Person(models.Model): name = models.CharField(max_length=128) def __unicode__(self): return self.name class Group(models.Model): name = models.CharField(max_length=128) members = models.ManyToManyField(Person, through='Membership') def __unicode__(self): return self.name class Membership(models.Model): person = models.ForeignKey(Person) group = models.ForeignKey(Group) date_joined = models.DateField() invite_reason = models.CharField(max_length=64) 现在您已经设置了ManyToManyField来使用您的中介模型(在这种情况下为Membership),您可以开始创build一些多对多的关系。 您可以通过创build中间模型的实例来执行此操作: ringo = Person.objects.create(name="Ringo Starr") paul = Person.objects.create(name="Paul […]

Ruby on rails – 引用同一模型两次?

是否有可能通过generate scaffold命令在activerecord模型中build立双重关系? 例如,如果我有一个User模型和一个PrivateMessage模型,pm表将需要跟踪sender和recipient 。 显然,对于一个单一的关系,我只是这样做: ruby script/generate scaffold pm title:string content:string user:references 有没有类似的方式来build立两个关系? 另外,有没有build立关系的别名? 所以而不是说: @message.user 你可以使用像这样的东西: @message.sender或@message.recipient 任何build议将不胜感激。 谢谢。

Doctrine 2 – 在ManyToOne关系的外键上不允许空值

在我的一个实体中有一个ManyToOne关系,如下所示: class License { // … /** * Customer who owns the license * * @var \ISE\LicenseManagerBundle\Entity\Customer * @ORM\ManyToOne(targetEntity="Customer", inversedBy="licenses") * @ORM\JoinColumn(name="customer_id", referencedColumnName="id") */ private $customer; // … } class Customer { // … /** * Licenses that were at one point generated for the customer * * @var \Doctrine\Common\Collections\ArrayCollection * @ORM\OneToMany(targetEntity="License", mappedBy="customer") */ private […]

Laravel雄辩的关系的列的总和

嗨,我一直在一个shoppingcart应用程序,现在我已经到了以下问题.. 有一个用户,一个产品和一个购物车对象。 – 购物车表只包含以下列:“id”,“user_id”,“product_id”和时间戳。 – UserModel“hasMany”推车(因为用户可以存储多个产品)。 – CartModel“属于”用户和CartModel“hasMany”产品。 现在来计算我可以调用的总产品: Auth::user()->cart()->count() 。 我的问题是:我怎样才能得到这个用户在购物车中的产品的价格(一列产品)的SUM()? 我想通过雄辩而不是使用查询(主要是因为我相信这是一个更清洁)来完成这一点。 -Thanx

如何在sbt中看到依赖树?

我正在试图显示文档中描述的SBT依赖关系树: sbt inspect tree clean 但是我得到这个错误: [error] inspect usage: [error] inspect [uses|tree|definitions] <key> Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. [error] [error] inspect [error] ^ 哪里不对? 为什么SBT不生成树?

在Ruby中使用元组?

有没有人在Ruby中使用元组? 如果是这样,怎么可能实现一个元组? Ruby哈希很好,工作也差不多,但是我真的很想看到像Python中的Tuple类,你可以使用它. 记法来find你正在寻找的价值。 我想要这个,所以我可以创build一个D的实现,类似于Python的Dee 。

数据库devise中“n:m”和“1:n”的含义

在数据库devise中, n:m和1:n是什么意思? 这与钥匙或关系有什么关系?

JPA:@JoinColumn和@PrimaryKeyJoinColumn之间的区别?

@JoinColumn和@PrimaryKeyJoinColumn什么@PrimaryKeyJoinColumn ? 您使用@JoinColumn作为外键的一部分的列。 典型的列可能看起来像(例如,在具有附加属性的连接表中): @ManyToOne @JoinColumn(name = "…") private OtherClass oc; 如果我也推动专栏成为一个PK(也就是识别关系),会发生什么? 由于列现在是PK,我必须用@Id标记它: @Id @ManyToOne @JoinColumn(name = "…") private OtherClass oc; 现在的问题是: @Id + @JoinColumn与@JoinColumn相同吗? @ManyToOne @PrimaryKeyJoinColumn(name = "…") private OtherClass oc; 如果没有,那么@PrimaryKeyJoinColumn在那里?