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

时间:2017-11-17 10:40:53

标签: laravel eloquent relational-database relationship laravel-eloquent

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

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

我如何得到这个?

我的关系表如下所示:

brand_id   |    webshop_id    |   url

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

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

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

1 个答案:

答案 0 :(得分:3)

在您的网上商店模型上:

public function brands()
{
    return $this->belongsToMany('App\Brand')->withPivot('url');
}

然后就这样做

foreach ($webshop->brands as $brand)
{
    echo $brand->pivot->url; // your url
}