質問テーブル内のを使用して、テーブルから
のマッチングを取得したいと考えています。空室状況はすでにと
の間のピボット テーブルです。schedule
availability
shift_id
availabilities
users
shifts
hasOneThrough 関係がここに行く方法だと思いましたが、うまくいかないようです。
私は何を間違っていますか?
テーブル
空室状況
- id
- user_id
- shift_id
- ...
シフト
- ID
- スケジュールID -
...
スケジュール
- ID
- ...
可用性モデル
public function schedule()
{
return $this->hasOneThrough(
'App\Schedule',
'App\Shift',
'schedule_id',
'id',
'shift_id',
'id'
);
}
問題 どういうわけか、PHP Artisan Tinker を使用すると、shift.id の ID を持つスケジュールではなく、Availability.id の ID を持つスケジュールを取得します。このスケジュールは存在しないため、
$availability = App\Availability::find(1331);
$availability→schedule()→get();
Illuminate\Database\Eloquent\Collection {#3111
all: [],
}