从关系表中获取与额外信息的关系

Posted

技术标签:

【中文标题】从关系表中获取与额外信息的关系【英文标题】:Get relation with extra information from relation table 【发布时间】:2018-05-01 02:49:27 【问题描述】:

我使用 Laravel 和 Eloquent 来关联两个模型。

很简单,一个网店有很多品牌,但是我需要在关系表中存储一些额外的信息。

我如何得到这个?

我的关系表如下所示:

brand_id   |    webshop_id    |   url

我目前获得包括品牌在内的网上商店的声明是:

$webshop = Webshop::select()
        ->where('slug', $slug)
        ->with('brands')
        ->first();

然后我可以查看 $webshop->brands 但无法访问“url”列。

【问题讨论】:

看这个:***.com/questions/26566675/… 【参考方案1】:

在您的网上商店模型上:

public function brands()

    return $this->belongsToMany('App\Brand')->withPivot('url');

那就做吧

foreach ($webshop->brands as $brand)

    echo $brand->pivot->url; // your url

【讨论】:

以上是关于从关系表中获取与额外信息的关系的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 从数据透视表中获取额外的列值

Spring-Data-JPA ManyToMany 与额外列的关系

反对 js:无法使用连接表额外属性更新多对多关系。说附加属性无效

我以与用户表的一对一关系创建了一个额外的表额外表。如何在用户注册中显示电话字段

Laravel 与复合外键的关系

这是在fuelphp中与额外字段创建多对多关系的正确方法吗