我有一个订阅系统。每个订阅都有一个类型,每个subscription_type
都有文章。创建订阅后,
应该在articles
表中创建大小为subscription type
的{{1}}中的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
的{{1}}:articles
中耦合的subscription_type_articles
M
表。
我这样尝试:
subscription_articles
我收到此错误:
local.ERROR:允许的内存大小为134217728字节已用尽(尝试 分配130027520字节)
显然有什么问题,那是什么?
答案 0 :(得分:0)
弄清楚了,我应该在方法末尾调用->get();
。结果是:
$articles = $subscription->type->articles()->wherePivot('size', '=', 'M')->get();