2017-05-02 10 views
-1

Ich habe einige Probleme beim Abrufen von Ergebnissen aus einer Abfrage. es ist das Folgende. Ich habe zwei Tabellen, tasks und task_interactions. Die Tabellenaufgaben speichern die Aufgaben, und die Tabelle task_interactions speichert den Verlauf der Aufgaben, wie Statusänderungen, Kommentare usw. Die Spalte task_id in der Tabelle task_interactions ist id in den Tabellenaufgaben. Die Tabellenaufgaben haben die folgenden Spalten: id | project_id | task_type_id | related_block | created_by | assigned_to | start_date | due_date | task_priority | comments | status | created_at |updated_at Der Status in dieser Tabelle wird gelöscht.Laravel Wie bekomme ich Werte aus einer Tabelle mit einer ID aus einer anderen Tabelle

der Tabelle taskinteractions hat die folgenden Spalten: id, task_id, status, comments, created_at

In den Modellen i die folgenden Beziehungen geschaffen haben:

Aufgabe Modell:

public function taskinteractions() 
{ 
    return $this->hasMany('App\Taskinteraction'); 
} 

Taskenteraction Modell:

Und jetzt die Frage: Ich möchte alle Aufgaben erhalten, die dem authentifizierten Benutzer mit Status (in der Tabelle taskinteractions) gleich "In Bearbeitung" zugewiesen sind. Ich habe viele verschiedene Ansätze ohne gute Ergebnisse ausprobiert. Ich bin ein Neuling und so glaube ich, dass die Lösung einfach sein könnte, aber ich keine Ahnung, wie es geht.

Antwort

0

Unter der Annahme, assigned_to die ID des Benutzers und eine typische Benutzertabelle, versuchen Sie Folgendes ein, ist $tasks die Reihe von Aufgaben, die Sie

$interactions = TaskInteractions::where('status','In Progress')->get(); 
$tasks = array(); 
foreach($interactions as $interaction){ 
    $task = $interaction->task; 
    if((!(in_array($task, $tasks))) && (Auth::user()->id == $task->assigned_to)){ 
     array_push($tasks,$task); 
    } 
erhalten möchten
Verwandte Themen