Laravel где разворот - PullRequest
       8

Laravel где разворот

0 голосов
/ 24 марта 2019

У меня есть система подписки.У каждой подписки есть тип, а у каждой subscription_type есть статьи.Когда создается подписка, articles из этого subscription type, где размер M должен быть создан в таблице subscription_articles.

У меня есть такая структура таблицы:

subscription
- id
- name
- subscription_type_id

subscription_type
- id
- name

article
- id
- name
- price

subscription_articles
- id
- subscription_id
- article_id

subscription_type_articles
- id
- subscription_type_id
- article_id
- size

Отношения такие:

подписка модель:

/**
 * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
 */
public function type()
{
    return $this->belongsTo(SubscriptionType::class, 'subscription_type_id');
}

тип подписки модель:

/**
 * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
 */
public function articles()
{
    return $this->belongsToMany(Article::class, 'subscription_type_articles');
}

Когда создается subscription, articles, которые связаны в subscription_type_articles, где размер M должны быть созданы вsubscription_articles таблица.

Я пытаюсь так:

$articles = $subscription->type->articles()->wherePivot('size', '=', 'M');

Я получаю эту ошибку:

local.ERROR: допустимый объем памяти 134217728 байт исчерпан (попытался выделить130027520 байт)

Очевидно, что-то не так, что бы это могло быть?

1 Ответ

0 голосов
/ 25 марта 2019

Разобрался, я должен вызвать ->get(); в конце метода. Итак, результат:

$articles = $subscription->type->articles()->wherePivot('size', '=', 'M')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...