Jak wyjąć pole z innej tabeli ?

Jak wyjąć pole z innej tabeli ?
masterO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1025
0

Mam tabele status

ID name
1 nowy
2 odwolany

Mam tabele wizyty (visit)
ID | pacjent_id | status_id
---------------- | -------------------
1 | 1 | 1
2 | 3 | 2

W modelu wizyty mam

Kopiuj
public function status() {
    return $this->belongsTo('App\Statuses', 'id', 'status_id'); 
}

W modelu statusy mam

Kopiuj
public function visit() {
    return $this->hasOne('App\Visit');
}

Teraz chce wyjac zapytanie

Kopiuj
Visit::where('dict_statuses_id', 1)

ale żeby w nim było pole np status_name i żeby to pole zawierało wartość name z tabeli statusy. jak to zrobić ?

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie wiem jak to zapisać w technologiach, których używasz, ale to będzie w stylu:

Kopiuj
SELECT
    visit.id AS id,
    visit.pacjent_id AS patient_id,
    status.name AS status_name
FROM visits visit
INNER JOIN statuses status ON status.id = visit.status_id
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

whereHas

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.