【问题标题】:Laravel one to many relation with a one to one relationLaravel 一对多关系和一对一关系
【发布时间】:2018-09-27 02:11:20
【问题描述】:
我可能做错了,但我需要一个模型来建立一对多和一对一的关系。
我有以下表格:
bots
bot_settings
message
section
我有以下关系:
-
Bot 属于 Section(一对多)
-
BotSettings 属于 Bot(一对一)
-
ArMessage 属于 Section(一对多)
所有这一切都按预期工作,我遇到了问题:
-
ArMessage 与 BotSettings 也有一对一的关系
我已经让它们属于一个部分,我不确定如何将它们链接到一个 BotSetttings,我认为我可能需要更改我的关系,但不确定如何。
我阅读了文档并尝试了所有内容,不知道现在该尝试什么。
任何帮助将不胜感激!
【问题讨论】:
标签:
php
mysql
database
laravel
eloquent
【解决方案1】:
您可以使用这种方法进行一对一或一对多
公共函数你的方法(){
return Modalnamewhereyouwanttoretrive::where('yourcolmn',$this->foreign_key)->get();
}
【解决方案2】:
您可以尝试使用hasManyThrough 关系将一个连接到所有其他连接。
return $this->hasManyThrough(
'App\BotSettings',
'App\Section',
'bot_settings_id', // Foreign key on BotSettings table...
'section_id', // Foreign key on Sections table...
'id', // Local key on BotSettings table...
'id' // Local key on Sections table...
);