我要实现的是一个名为“问题”的表的多态关系
Quesions
-------------
id
title
description
type
metadata_type
metadata_id
Question
可以是text-type-question
,choice-question
,opinion-scale
这三种类型。
text-type-question没有任何关系表,它仅需要基本的标题和描述字段。但另外两个需要Extra元数据,该元数据位于另外两个表中,它们的模型在metadata_type
我想做的是
class SurveyQuestion extends Model
{
public function metadata()
{
return $this->hasOne(app($this->metadata_type));
}
}
这将返回元数据,但我的text-type-question
没有任何关系表,即$this->metadata_type
为空。这样会引发错误。
有什么方法可以通过检查类型条件来返回空关系吗?