Trong ứng dụng Laravel của tôi, tôi có một mô hình Faq
. Một mô hình Faq
có thể chứa nhiều Product
mô hình, vì vậy lớp Faq
chứa các chức năng sau:Laravel lấy tên lớp của mô hình liên quan
class Faq extends Eloquent{
public function products(){
return $this->belongsToMany('Product');
}
}
Trong một bộ điều khiển, tôi muốn để có thể lấy lại tên lớp định nghĩa các mối quan hệ. Ví dụ, nếu tôi có một đối tượng Faq
, như thế này:
$faq = new Faq();
Làm thế nào tôi có thể xác định tên lớp của mối quan hệ, mà trong trường hợp này sẽ là Product
. Hiện tại tôi có thể thực hiện như sau:
$className = get_class($faq->products()->get()->first());
Tuy nhiên, tôi tự hỏi có cách nào để thực hiện điều tương tự này mà không phải thực sự chạy truy vấn hay không.
getRelated là một tìm kiếm tuyệt vời! Trước đây tôi đã sử dụng $ className = get_class ($ faq-> products() -> getQuery() -> getModel()); – malhal