2017-02-18 59 views
0

我有一個稱爲應用程序的模型,可以獲取另一個稱爲簡歷的模型的關係。在簡歷模型中進一步的關係是具有$ 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

你是如何訪問到該字段? – OsDev

+0

在fields.yaml中,我想在後端訪問它 – ServerSideSkittles

+0

是否想要查看窗體上呈現的值或文檔路徑,或者是否想要修改其中的文件? – OsDev

回答

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; ?> 
    
    +1

    謝謝你的迴應。我不確定10月份可以做到這一點! – ServerSideSkittles