通过父模型关系获取附加到模型的文件路径?
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
在简历的模型目录中创建一个部分以打印出下载 link 到文件
在部分内部,您可以访问 $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; ?>
我有一个名为 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
在简历的模型目录中创建一个部分以打印出下载 link 到文件
在部分内部,您可以访问
$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; ?>