如何使用视图传递变量使用Laravel刀片自定义函数

时间:2018-01-27 12:09:21

标签: php laravel blade

在创建和编辑表单的部分内容中,我决定是显示当前值(编辑时)还是旧值(编辑或创建时,不通过验证器)

<input type="text" name="title" value="{{ old('title')?old('title'):$model->title }}">

这变得很痛苦,所以我在app / helpers.php中创建了一个自定义刀片功能

function decide($inputName, $model){
    return old($inputName)?old($inputName):$model->$inputName;
}

然而,这很有效,我想要实现的最终是

<input type="text" name="title" value="{{ decide('title') }}">

无需传递$ model

2 个答案:

答案 0 :(得分:2)

您可以将默认值传递给old

old('title', $model->title)

title的null旧值将使用默认值,不需要三元组。

但是,我不知道如何在没有模型的情况下建立关联。

答案 1 :(得分:1)

您可以使用Extending Blade,它可以让您创建自己的自定义刀片功能。

阅读文档here