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天了。我向你们展示了一个很好的努力。不是我投了反对票,但可能是因为格式不好,缺少代码中最重要的部分,即模型