我希望基于类名建立动态关系,该类名作为属性存储在远程相关模型上。
有很多不同的类名,所以我不想建立很多关系。它有点复杂但必须这样。
@staticmethod
尝试以这种方式执行此操作将无法在查询中查找,因为它并不总是具有“子”模型信息(因为function subjectvotes() {
$className = $this->masterCourse->subject->class_name;
return $this->hasMany($class)->orderBy('value');
}
尚未运行)。另一个问题是它每次都运行相同的->get()
查询 - 不理想。
在开始关系查询之前,我可以运行它来分别获取类名和表名:
$this->parent->grandparent
但是如何将这种情况融入关系中我还不确定:
$className = $masterCourseModel->subject->class_name;
$tableName = ( new $className )->getTable();
如果没有为每个可能的类创建很多关系,我如何提供$masterCourseModel->studentCourse()->with('subjectvotes')->get();
来创建动态的hasMany关系,或者我可以通过添加新的查询范围并输入{{1那个方式还是$className
?
提前感谢您的任何帮助。