我要做的是添加与我的数据透视表的关系。我有一个独特的场景,我的数据透视表在角色表上需要它自己的has_one关系。是否有人看到专门为数据透视表创建一个Eloquent模型的问题?另外,如果我要创建这个模型,有什么方法可以让以下内容返回模型吗?
$user = User::where('id', '=', 1);
$pivot = $user->hasmanyexample()->pivot();
我特别希望能够做到以下几点:
$user = User::where('id', '=', 1);
$pivot = $user->example()->pivot();
// class Example_User
// public function role() { return $this->has_one('Role', 'role_id'); }
$role = $pivot->role();
答案 0 :(得分:4)
首先你必须制作一个Pivot模型,在我的例子中我有3个模型
生成的数据透视表将被称为edition_format,当我制作模型时,您首先必须创建一个目录版,并在该文件夹中创建一个名为format.php的文件,以便您拥有以下内容:
<强> -application /模型/版本/ format.php 强>
然后你必须更改表名,因为laravel查找复数(edition_formats)并且关系需要edition_format,所以你必须对以下内容添加:
class Edition_format extends Eloquent
{
public static $table = "edition_format";
/* whatever you want */
}
然后你可以像这样调用它:Edition_format :: find(1);