我有一个名为application的模型,它可以获取另一个名为resume的模型的关系。在简历模型中是进一步的关系,它具有文件的$ attachOne关系。
public $attachOne = [
'resume' => ['System\Models\File','public' => false, 'delete' => true]
];
该应用程序附有一份简历,虽然$ belongsTo。
public $belongsTo = [
'user' => ['RainLab\User\Models\User', 'table' => 'users'],
'resume' => ['Acme\Job\Models\Resume']
];
我可以获取应用程序模型中的所有字段以进行恢复,例如user_id,display_name等,但是当我尝试访问附加的文件以恢复时,表示找不到列。以下是我在应用程序模型中访问Resume数据的内容。
resume:
label: Resume File
type: relation
disabled: true
select: display_name
我可以选择该表中的所有字段,但无法访问附加到恢复表的文件。有什么办法可以在应用程序模型中访问附加的系统文件吗?
答案 0 :(得分:1)
您可以使用 partial 访问相关的模型附件,如下所示。
第1步。
设置您的fields.yaml
resume:
label: Resume File
type: partial
path: $/acme/jobs/models/resume/_resume.htm
在简历的模型目录中创建部分内容以打印出文件的下载链接
在部分内部,您可以访问保存当前模型实例的$model
变量(如果存在),例如:
/acme/jobs/models/resume/_resume.htm
<?php if ($model->resume->resume): ?>
<div class="form-group text-field span-full form-pad" data-field- name="resume" id="Form-field-resume-group">
<div>
<a href="<?= $model->resume->resume->getPath(); ?>">Download resume</a>
</div>
</div>
<?php endif; ?>