问题
我想schedule
从它的表中获取匹配availability
,使用表shift_id
中的availabilities
。
可用性已经是users
和之间的数据透视表shifts
。
我认为 hasOneThrough 关系是去这里的方式,但我似乎无法让它工作。
我究竟做错了什么?
表
可用性
- id
- user_id
- shift_id
- ...
班次
- id
- schedule_id
- ...
时间表
- id
- ...
可用性模型
public function schedule()
{
return $this->hasOneThrough(
'App\Schedule',
'App\Shift',
'schedule_id',
'id',
'shift_id',
'id'
);
}
问题 不知何故,当我使用 PHP Artisan Tinker 时,我得到了 ID 为 Availability.id 的时间表,而不是 ID 为 shift.id 的时间表。由于这个时间表不存在,我得到一个
$availability = App\Availability::find(1331);
$可用性→计划()→获取();
Illuminate\Database\Eloquent\Collection {#3111
all: [],
}