如何通过使用 view-passed 变量来使用 Laravel blade 自定义函数

How to use Laravel blade custom function with the use view-passed variables

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

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

这很痛苦,所以我在 app/helpers 中创建了一个自定义 blade 函数。php

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

这很好用,但是我最终想要实现的是这个

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

无需传入$model

您可以将默认值传递给 old

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

title 的旧值为 null 将使用默认值,不需要三进制。

但是,我不知道如果没有模型,您将如何建立关联。

您可以使用 Extending Blade,它允许您创建自己的自定义 blade 函数。

阅读文档here