【问题标题】:is it possible to return database data like withinput and use it with {{old()}} laravel?是否可以像 withinput 一样返回数据库数据并将其与 {{old()}} laravel 一起使用?
【发布时间】:2016-06-13 17:35:28
【问题描述】:

我有文章数据库表,需要相同的表格来保存新文章和更新旧文章。所以我创建了一个表单文件夹并创建了我的表单,然后我将它包含在我需要的两个地方,但是在文章编辑中我需要查看我正在编辑信息的所有文章(标题、文章内容等)并且该信息是保存在数据库中。如果我可以使用 {{old()}} 并从数据库中查看文章信息,那将是最好的(因为当我保存文章时,如果有任何错误,我不想丢失所有帖子输入数据,所以我使用 {{ old()}} 那里)对不起,我的英语不是很好,我很难表达......所以我的问题听起来:是否可以从控制器返回数据库数据,如 withInput() 并将其与 {{老的()}}?谢谢!问我是不是说了一些听不懂的话。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    答案是肯定的,函数 old() 接受第二个参数,如果旧值未定义,则为一个值。在这种情况下,您使用数据库的值

    例子

    {{ old('username', $user->username) }} 
    

    【讨论】:

    • 谢谢!我会考虑如何在我的情况下使用它:)
    • 我像这样使用它 value="@if(isset($article_info)){{old('article_title',$article_info->article_title)}}@else{{ old('article_title' )}}@endif" 现在好吗?
    • 如果您想使用相同的表单来创建和更新将是一个选项
    【解决方案2】:

    虽然下面的答案应该有效,但我认为解决它的最佳方法是将模型绑定到您的表单(使用 Form::model,而不是 Form:open)。

    这样,当你使用 old('some_field') 时,它会得到 Model 引用的 some_field 字段。

    您可以在这里获得更多信息:https://laravelcollective.com/docs/5.2/html#form-model-binding

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 2015-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多