通过父模型关系获取附加到模型的文件路径?

Fetching the file path attached to a model through a parent model relation?

我有一个名为 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:
    label: Resume File
    type: relation
    disabled: true
    select: display_name

我可以 select table 中的所有字段,但无法访问附加到简历的文件 table。有什么方法可以访问应用程序模型中附加的系统文件吗?

您可以使用 partial 访问您的相关模型附件,类似这样。

步骤 1.

设置您的 fields.yaml

resume:
  label: Resume File
  type: partial
  path: $/acme/jobs/models/resume/_resume.htm
  1. 在简历的模型目录中创建一个部分以打印出下载 link 到文件

  2. 在部分内部,您可以访问 $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; ?>