【发布时间】:2015-12-17 12:14:36
【问题描述】:
我遵循了 Jeffrey Way 的 ManyToMany 教程 https://laracasts.com/series/laravel-5-fundamentals/episodes/21,我得到了一切,一切都很好。但是,我想为我的多对多关系添加另一个功能,那就是一个“评论”,它为对象关系提供了更多信息。
我有两个模型:
文章 [id, 标题, 文本] 类别 [id, 标题]
这是一个多对多的关系,所以我创建了一个数据透视表为article_category。该表有两列article_id 和category_id,它们通过模型中的函数连接为:
文章.php:
public function categories()
{
return $this->belongsTo('App\Category');
}
& Category.php
public function articles()
{
return $this->belongsTo('App\Article');
}
但是,我想在数据透视表中添加另一个名为 comment 的字段,我可以在其中描述为什么将这篇文章添加到此特定类别中。添加一列不是问题,但我不知道如何从文章实例中检索此评论:
$articleCategoryComment = Article::find(1)->commentFromPivotTable;
我总是可以定义另一个 oneToMany 关系,并创建另一个表来保存带有字段 [artice_id,category_id,comment] 的评论,但我想知道是否有更好/更简单的方法。
此外,任何关于数据库结构的好资源都将不胜感激。我更喜欢一堆关于如何在 MySQL 中以正确方式做事的例子,但是一本从头开始解释事情的书也是很好的推荐。不过,目前我没有时间深入探讨,但会将其添加为书签以备将来阅读。
谢谢!
【问题讨论】:
标签: mysql database eloquent many-to-many laravel-5.1