dongqi9125 2019-05-03 21:46
浏览 113
已采纳

Octobercms:明确$ attachOne关系

I have a problem updating an attachOne relation of a model from a frontend form under Octobercms.

I have a "Customer" model and relative controller with a field in the backend form where I, as admin, can edit its company logo.

I also have built (with Foundation) a frontend form that the logged in customer can edit, changing his logo accordingly.

I setup a placeholder in my

/themes/mytheme/dist/assets/img/placeholder.png 

and I show it when the user hasn't uploaded his file yet.

I can then upload a pic and change the logo correctly and I set the

$model->company_logo 

with no issues.

The problem is when the user resets the form and submits a null field value: I'm not able to empty the $model->company_logo relation.

I tried with unset(), passing null values, empty strings and so on but with no luck.

Any ideas?

Thank you in advance.

  • 写回答

1条回答 默认 最新

  • dongzhang6677 2019-05-04 07:41
    关注

    Solved, I feel so newbie.

    I just put this in my frontend form page php section:

    function onSave() {
        // ... 
        $uploadedLogo = \Input::file('company_logo');
    
        if (empty($uploadedLogo)) {
            $customer->company_logo->delete();
        } else {
            $customer->company_logo = $uploadedLogo;
        }
        // ...
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?