如何通过对表中所请求记录的不同字段的值执行不同的检查来返回模块对象初始化的不同属性。我无法在模型__constructor()
中使用它。有关更多详细信息,请参见我的older question。例如,我有许多不同的帖子类型,它们需要不同的属性。在我的模型中,我有type
字段,我必须在初始化之前检测该字段并将其附加到响应中。
我很累:
public function __construct() {
switch ($_GET['type']) {
case 'company':
$this->needs = [
'name',
'slogan',
'logo',
'location',
'contacts',
'employees',
'vacancy',
'skills'
];
$this->customWith = ['jobs', 'branches'];
break;
case 'vacancy':
$this->needs = [
'title',
'price',
'schedule',
'employment',
'experience',
'location',
'skills',
'company',
'date'
];
$this->customWith = ['company'];
break;
}
if(is_array($this->needs) && count($this->needs)) {
$this->appends = array_merge($this->appends, $this->needs);
$this->with = array_merge($this->with, $this->customWith);
}
}
但这不能正常工作。例如,当我请求帖子类型vacancy
并向$with
数组进行加载时,请添加company
关系对象,然后company
对象也会返回vacancy
对象属性。 / p>
您有什么建议?如何正确执行操作,以便为每种类型的帖子返回不同的属性。