Mam dwie tabele staff
z kolumnami id
, name
i attendance
. staff_id
jest używany jako klucz obcy w tabeli attendance
.Jak uzyskać klucz obcy zamiast klucza w widoku siatki przy wyszukiwaniu i filtrowaniu w yii 2?
Chcę wyświetlić nazwę personelu w widoku siatki obecności.
Frekwencja model:
public function getStaff()
{
return $this->hasOne(Staff::className(), ['id' => 'staff_id']);
}
public function getStaffName() {
return $this->staff->name;
}
aw index.php Kiedyś ten kod
<?= GridView::widget([
[
'attribute'=>'staff_id',
'value'=>'StaffName',
],
]); ?>
uzyskać wartość nazwy personelu. W ten sposób uzyskuję nazwę personelu z powodzeniem, ale problem polega na tym, że kiedy szukam nazwy personelu w gridview, to "staff_id" powinno być liczbą całkowitą, ponieważ definiuję ją jako liczbę całkowitą, ale tutaj chcę wyszukać nazwę personelu zamiast id .
Jak to jest możliwe? Dzięki z góry
jeśli zdefiniowałeś relację między nimi, po prostu wpisz nazwę relacji zamiast nazwy kolumny – tinybyte