"integer", "due_end" => "integer", "completed_at" => "integer", "created_at" => "integer", "updated_at" => "integer", ]; public function user(): Collection { // Select User given Todo return DB::table('users') ->join('project_user', 'users.id', '=', 'project_user.user_id') ->join('projects', 'project_user.project_id', '=', 'projects.id') ->join('project_todo', 'projects.id', '=', 'project_todo.project_id') ->join('todos', 'project_todo.todo_id', '=', 'todos.id') ->where('todos.id', '=', $this->id) ->select('users.*') ->get(); } public function project(): HasOneThrough { return $this->hasOneThrough(Project::class, projectTodo::class, 'todo_id', 'id', 'id', 'project_id'); } public function pomo(): HasMany { return $this->hasMany(Pomo::class); } }