从关系 table 获取额外信息的关系

Get relation with extra information from relation table

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

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

我如何得到这个?

我的关系 table 是这样的:

brand_id   |    webshop_id    |   url

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

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

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

在您的网店型号上:

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

那就干

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