我正在尝试将模型集合与关系一起缓存。但是,这将返回错误。
不允许对“关闭”进行序列化
public static function cachedFaq()
{
return Cache::remember('faq', 60 * 24 * 7, function () {
return self::with(['articles'])
->whereHas('parent', function ($query) {
$query->where('slug', 'faq');
})
->get();
});
}
当我通过删除with(['articles'])
来省略该关系时,它将起作用。在toArray()
之后应用get()
时,它也适用。
为什么不能返回这样的关系?
关系:
public function articles()
{
return $this->hasMany(Article::class, 'category_id');
}
public function parent()
{
return $this->belongsTo(ArticleCategory::class, 'parent_id');
}
答案 0 :(得分:0)
之所以要这么做,是因为我重写了模型中的__construct()
方法。