【发布时间】:2019-09-20 18:00:34
【问题描述】:
我有一个 Laravel 5.3 站点,我想我可能会因为 API 控制器中发生的一些操作和常规控制器中发生的一些操作而发生一些奇怪的事情。
或者可能是我有时处理模型,有时处理 Eloquent 集合的问题。
问题是,我正在尝试检索模型上的关系并且结果为空。
例如,我有与week 模型相关的course 模型。
在course 模型中,我得到week 项目
public function weeks()
{
return $this->hasMany(Week::class, 'course_id');
}
在后端,这些关系以这种方式发送:
$course->load('weeks')
一切都好。
但是当course 项目被删除并且我尝试在week 控制器中采取行动时
static::deleting(function($course) {
$course->weeks->delete();
});
$course->weeks 为空。当时我在数据库中看到一切都很好,这个course 项目确实有一个week 项目相关,但$course 显示0 关系。
所以在$course->webinars 没有抓取week 相关项目的情况下发生了一些奇怪的事情。
我从根本上做错了什么吗?也许是因为在模型中我有这些陈述:
protected $table = 'Week';
这些是否阻止了关系被拉动?我一直认为我在模型中有一些函数可以返回关系,当我使用语法 $course->weeks 时,这些关系总是可用的。
想法?
再次感谢,
【问题讨论】:
标签: laravel