W mojej aplikacji Laravel mam model Faq
. Faq
model może zawierać wiele Product
modele, więc klasa Faq
zawiera następującą funkcję:Laravel pobierz nazwę klasy powiązanego modelu
class Faq extends Eloquent{
public function products(){
return $this->belongsToMany('Product');
}
}
W sterowniku, chciałbym być w stanie odzyskać nazwę klasy, który definiuje związek. Na przykład, jeśli mam Faq
obiektu, na przykład:
$faq = new Faq();
Jak mogę określić nazwę klasy relacji, które w tym przypadku byłoby Product
. Obecnie jestem w stanie zrobić to tak:
$className = get_class($faq->products()->get()->first());
Jednak zastanawiam się, czy istnieje sposób, aby osiągnąć to samo bez konieczności faktycznego uruchomienia kwerendy.
getRelated to świetne znalezisko! Poprzednio używałem $ className = get_class ($ faq-> products() -> getQuery() -> getModel()); – malhal