как получить записи с соответствующими данными в промежуточной таблице - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть две модели, категория и марка со многими ко многим

в модели категории

public function brands()
    {
        return $this->belongsToMany(Brand::class, 'brand_category', 'category_id', 'brand_id');
    }

и в модели бренда

    public function categories()
    {
        return $this->belongsToMany(Category::class, 'brand_category','brand_id','category_id' );
    }

как я могу получить бренды с указанным c идентификатором категории, таким как json ниже

{
    "data": [
        {
            "brand_id": 1,
            "name": "Sony",
            "description": null,
            "logo": null,
            "is_active": true,
            "created_at": "2020-04-08 15:19:44",
            "updated_at": "2020-04-08 15:19:44",
            "deleted_at": null,
            "pivot": {
                "category_id": 1,
                "brand_id": 1
            }
        },
        {
            "brand_id": 2,
            "name": "Lg",
            "description": null,
            "logo": null,
            "is_active": true,
            "created_at": "2020-04-08 15:19:44",
            "updated_at": "2020-04-08 15:19:44",
            "deleted_at": null,
            "pivot": {
                "category_id": 1,
                "brand_id": 2
            }
        }
    ],
    "success": true,
    "error": {
        "code": 200,
        "data": []
    },
    "message": ""
}

Я хочу найти способ, не меняя отношения в моделях по WherePivot ...

1 Ответ

1 голос
/ 11 апреля 2020

это должно сделать.

return Category::find($categoryId)->brands;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...