Php 拉威尔一对一关系

Php 拉威尔一对一关系,php,mysql,database,laravel,laravel-4,Php,Mysql,Database,Laravel,Laravel 4,我有xml\u文档表,其中包含以下列: id general_information_id id domain log_file 我有general\u信息表,其中包含以下列: id general_information_id id domain log_file 他们之间的关系是一对一的 我是否建立了正确的关系?或者我需要将xml\u document\u id列添加到general\u information表中 第二: 我已经在xml\u文档中添加了一行,现在我想在general

我有
xml\u文档
表,其中包含以下列:

id
general_information_id
id
domain
log_file
我有
general\u信息
表,其中包含以下列:

id
general_information_id
id
domain
log_file
他们之间的关系是一对一的

我是否建立了正确的关系?或者我需要将
xml\u document\u id
列添加到
general\u information
表中

第二:

我已经在
xml\u文档中添加了一行,现在我想在
general\u信息中添加一行,并将这一新行链接到
xml\u文档中

我试过这个:

 $xmlDocument = XmlDocument::find(Input::get(4));
            $generalInformation = new GeneralInformation($dataGeneralInformation);
            $generalInformation->xmlDocument()->associate($xmlDocument);
            //$xmlDocument->generalInformation()->attach($generalInformation);
            $generalInformation->save();
            $xmlDocument->save();
但是我得到一个错误,
xml\u document\u id
列在
general\u information
表中不存在

我试图用
attach
替换
associate
,但我发现
attach
不是一个存在的函数

请帮助我我尝试过这种一对一的关系,我不知道什么是正确的方法来做id。我不知道在数据库中添加列的位置以及在模型中做什么。我尝试了很多东西,但仍然很困惑

更新1
要建立
一对一
关系,需要将父表的
主键
作为
外键
存储在子表中。因此,如果
xml\u文档
是父文档,并且它包含许多
general\u信息
,那么
xml\u文档
id
字段应该作为
xml\u文档
出现在
general\u information
表中

因此,您可以建立如下的
一对一关系:

// xml_document model
public function generalInfo()
{
    return $this->hasOne('GeneralInformation');
}

然后声明
通用信息
模型。

要建立
一对一
关系,需要将父表的
主键
作为
外键
存储在子表中。因此,如果
xml\u文档
是父文档,并且它包含许多
general\u信息
,那么
xml\u文档
id
字段应该作为
xml\u文档
出现在
general\u information
表中

因此,您可以建立如下的
一对一关系:

// xml_document model
public function generalInfo()
{
    return $this->hasOne('GeneralInformation');
}

然后声明
通用信息
模型。

要建立
一对一
关系,需要将父表的
主键
作为
外键
存储在子表中。因此,如果
xml\u文档
是父文档,并且它包含许多
general\u信息
,那么
xml\u文档
id
字段应该作为
xml\u文档
出现在
general\u information
表中

因此,您可以建立如下的
一对一关系:

// xml_document model
public function generalInfo()
{
    return $this->hasOne('GeneralInformation');
}

然后声明
通用信息
模型。

要建立
一对一
关系,需要将父表的
主键
作为
外键
存储在子表中。因此,如果
xml\u文档
是父文档,并且它包含许多
general\u信息
,那么
xml\u文档
id
字段应该作为
xml\u文档
出现在
general\u information
表中

因此,您可以建立如下的
一对一关系:

// xml_document model
public function generalInfo()
{
    return $this->hasOne('GeneralInformation');
}
然后声明
通用信息
模型。

这就是您想要的:

class GeneralInformation extends  Eloquent
{
  public function xmlDocument()
  {
    return $this->hasOne('XmlDocument');
  }
}


class XmlDocument extends Eloquent
{

  public function generalInformation()
  {
    return $this->belongsTo('GeneralInformation','general_information_id');
  }
}
这就是你想要的:

class GeneralInformation extends  Eloquent
{
  public function xmlDocument()
  {
    return $this->hasOne('XmlDocument');
  }
}


class XmlDocument extends Eloquent
{

  public function generalInformation()
  {
    return $this->belongsTo('GeneralInformation','general_information_id');
  }
}
这就是你想要的:

class GeneralInformation extends  Eloquent
{
  public function xmlDocument()
  {
    return $this->hasOne('XmlDocument');
  }
}


class XmlDocument extends Eloquent
{

  public function generalInformation()
  {
    return $this->belongsTo('GeneralInformation','general_information_id');
  }
}
这就是你想要的:

class GeneralInformation extends  Eloquent
{
  public function xmlDocument()
  {
    return $this->hasOne('XmlDocument');
  }
}


class XmlDocument extends Eloquent
{

  public function generalInformation()
  {
    return $this->belongsTo('GeneralInformation','general_information_id');
  }
}

为什么有人会否决这样的问题?至少要留个条子。我已经试着理解这个问题4天了。我向你们展示了一个很好的努力。不是我投了反对票,但可能是因为格式不好,而且代码中最重要的部分,即模型的缺失。你们应该提供更多信息,说明这两个表是如何关联的,哪个是子表中的
外键
,谁是这里的孩子?@狼人TheAlpha这是一对一的关系,所以问题的一部分是告诉我是否应该在
常规信息
表中创建外键。我应该放两把外键吗?每张桌子一张?这是不可能的,对吧?为什么有人会否决这样的问题?至少要留个条子。我已经试着理解这个问题4天了。我向你们展示了一个很好的努力。不是我投了反对票,但可能是因为格式不好,而且代码中最重要的部分,即模型的缺失。你们应该提供更多信息,说明这两个表是如何关联的,哪个是子表中的
外键
,谁是这里的孩子?@狼人TheAlpha这是一对一的关系,所以问题的一部分是告诉我是否应该在
常规信息
表中创建外键。我应该放两把外键吗?每张桌子一张?这是不可能的,对吧?为什么有人会否决这样的问题?至少要留个条子。我已经试着理解这个问题4天了。我向你们展示了一个很好的努力。不是我投了反对票,但可能是因为格式不好,而且代码中最重要的部分,即模型的缺失。你们应该提供更多信息,说明这两个表是如何关联的,哪个是子表中的
外键
,谁是这里的孩子?@狼人TheAlpha这是一对一的关系,所以问题的一部分是告诉我是否应该在
常规信息
表中创建外键。我应该放两把外键吗?每张桌子一张?这是不可能的,对吧?为什么有人会否决这样的问题?至少要留个条子。我已经试着理解这个问题4天了。我向你们展示了一个很好的努力。不是我投了反对票,但可能是因为格式不好,缺少代码中最重要的部分,即模型