从数据透视表中获取ID Eloquent belongsToMany() - Laravel 5.2

时间:2016-09-22 09:42:49

标签: laravel eloquent laravel-5.2

我有两件事。商店&a​​mp;分类。在我的Shop模型中,我宣布了这种关系:

public function categories()
    {
        return $this->belongsToMany('App\Models\Category');
    }

在我的分类模型中我有这个:

public function shops()
    {
        return $this->belongsToMany('App\Models\Shop');
    }

我可以使用附加功能将Shop添加到类别中。例如这段代码:

$shop->categories()->attach($cat_id);

通过使用上述附加方法,我的数据透视表category_shop中会自动使用category_id和shop_id创建记录。

现在,我有一家商店装满了$ shop。如下所示:

$shop           = Shop::findOrFail($id);

显然现在我在$ shop-> id中有我的商店ID。我的问题是如何使用上述设置取回本店的类别ID。我是laravel的新手。

1 个答案:

答案 0 :(得分:1)

因为,商店有很多类别。您将获得许多类别ID。

    $shop= Shop::findOrFail($id);
    foreach($shop->categories as $category)
    {
         print_r($category->id);
    }