Das wird kompliziert erklärt - aber ich werde mein Bestes geben. Below Ich habe eine Methode, um alle Aufgaben zu greifen (von einem bestimmten Team), die in einem bestimmten Zeitraum zu Benutzern zugeordnet sind ...Erhalte Aufgaben, die zwischen dem Datumsbereich liegen oder außerhalb des Datumsbereichs liegen
Gerade jetzt, es funktioniert, wie es sollte (teilweise):
- erhalten Sie Aufgaben aus der laufenden Team
- die
Need Aufgaben an den geauthet Benutzer zugeordnet sind, wo ...
- Aufgabe Startdatum fällt in Datumsbereich
- Aufgabe Fälligkeitsdatum fällt in Datumsbereich
Aber ich brauche auch Aufgaben, die das StartdatumVOR Datumsbereich sein könnte UND/ODER durch DatumkönnteNACH Datumsbereich sein.
Das funktioniert großartig. Es greift jedoch auch Aufgaben anderer Teams auf. Zum Beispiel, wenn ich zu Team 2 wechsle. Aufgaben für Team 1, die dem Benutzer zugewiesen sind, erscheinen ebenfalls (wenn sie nicht sein sollten).
Also nehme ich an, es hat etwas mit meinen where
Klauseln zu tun. Es ist ein kompliziertes Biest. Hoffe, dass jemand helfen kann.
Methode:
$tasks = Team::currentTeam()
->tasks()
->assignedToUser()
->where([
['status', '!=', 'completed'],
['due_date', '<=', $start_date],
['start_date', '<>', $start_date],
['start_date', '<', $end_date],
])
->orWhere([
['due_date', '>', $start_date]
])
->get();
Aktuelles Team Scope:
public function scopeCurrentTeam($query)
{
$current_team = Auth::user()->current_team_id;
return $query->find($current_team);
}
zu Benutzerbereich zugewiesen:
public function scopeAssignedToUser($query)
{
return $query->with('user', 'comments')->whereHas('user', function($query) {
$query->where('user_id', Auth::user()->id);
})->orHas('user', '=', 0);
}
können wir sehen, die 'scopeTasks' – Ohgodwhy
es eine Beziehung ist ...' return $ this-> hasMany (Aufgabe :: Klasse); '' –
assignedToUser' nicht über diese hasMany Beziehung schert. Können Sie mir zeigen, wie eine Aufgabe mit einem Benutzer zusammenhängt? – Ohgodwhy