Php 如何在laravel 4中构造相关模型
我很难弄清楚如何处理具有“动态”相关模型的模型 有一个名为组的模型 创建群组时,您可以进行群组游戏或群组游戏玩家。这是由组模型中的组类型指定的。所以类型1与GroupGame相关,类型2与GroupGamer相关Php 如何在laravel 4中构造相关模型,php,laravel,laravel-4,entity-relationship,Php,Laravel,Laravel 4,Entity Relationship,我很难弄清楚如何处理具有“动态”相关模型的模型 有一个名为组的模型 创建群组时,您可以进行群组游戏或群组游戏玩家。这是由组模型中的组类型指定的。所以类型1与GroupGame相关,类型2与GroupGamer相关 我应该在这里建立多态关系吗?并将共享一个组表的父级反转为GroupGame和GroupGamer?或者让Group作为父对象,并且它具有相关的GroupGame或GroupGamer模型 我有其他模型,如新闻、媒体等,我计划使用它的id将其与组模型联系起来 要点: 只是不知道该怎么做才
只是不知道该怎么做才对。希望这是有意义的。关于你问题的第一部分,多态关系是一条可行之路。您创建游戏和玩家模型,它们都需要是“可分组”类型,其类型将由“可分组类型”字段确定。在上述情况下,您使用3个表-用于玩家、游戏和多边形组表
//example table structure
CREATE TABLE `group` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`groupable_id` int(11) unsigned NOT NULL,
`groupable_type` varchar(255) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
//app/models/Group.php
class Group extends Eloquent {
protected $table = 'group';
public function groupable()
{
return $this->morphTo();
}
}
//app/model/Gamer.php
class Gamer extends Eloquent
{
...
public function group()
{
return $this->morphMany('Group', 'groupable');
}
...
}
//app/model/Game.php
class Game extends Eloquent
{
...
public function group()
{
return $this->morphMany('Group', 'groupable');
}
...
}
至于其他模型,这将与组相关,情况也是如此-您可以发挥神奇的作用,还可以使它们“可分组”,这将使您能够将所有组详细信息存储在一个表中
//app/model/News.php
class News extends Eloquent
{
...
public function group()
{
return $this->morphMany('Group', 'groupable');
}
...
}
你的问题我不清楚,你能用一些代码把它说清楚一点吗。
当创建一个群组时,你可以做一个GroupGame或GroupGamer
意味着什么?下面是一些示例代码/类的要点。有帮助吗?然而,我对许多问题感到困惑。每组只有一个游戏或一个玩家。基本上,它是一个组,但根据类型,玩家或游戏将具有其他属性。我的理解是,当你有一个有多个组的单一游戏,然后你调用一个游戏,并提出它的所有组,多态将是很好的。但这是1:1。查看本文,了解基本多态用法的典型示例:谢谢您的帮助。由于我似乎无法提取相关模型的数据,因此我分裂成一个关于获取数据的单独问题: