【问题标题】:laravel-admin + laravel 5.5 save 2 field with same valuelaravel-admin + laravel 5.5 保存 2 个具有相同值的字段
【发布时间】:2018-09-17 03:22:35
【问题描述】:

我有一个表单需要生成slug,我使用 z-song 的 laravel-admin。

链接:https://github.com/z-song/laravel-admin/

在文档中,表单可以是这样的:

protected function form()
{
    $form = new Form(new Post);

    $form->text('title');
    $form->hidden('slug');

    return $form;
}

但这都是手动输入。这不是我需要的,因为 slug 需要自动生成。

我正在尝试这样做:

protected function form()
{
    $form = new Form(new Post);

    $form->text('title', 'Title');
    $form->hidden('slug')->value(str_slug($form->title));

    return $form;
}

但它的结果 NULL 用于蛞蝓。

那么如何实现呢?

【问题讨论】:

  • 我不知道laravel-admin 是如何工作的,但是在创建表单时似乎没有$form->title,这就是你得到NULL 的原因。如果需要从标题创建 slug,则不要将其添加到表单中,只需在保存模型时生成即可。

标签: php laravel-5.5 laravel-admin


【解决方案1】:

我知道它很旧,但对于存档,请尝试:

$form->hidden('slug');
$form->input('slug', $value);

【讨论】:

    【解决方案2】:

    Laravel 管理员在 $form 上有 some callbacks,这对于生成 slug case 很有用:

    use Illuminate\Support\Str;
    
    
    $form->text('title');
    $form->hidden('slug');
    
    
    $form->saving(function (Form $form) {
    
        $form->slug = Str::slug($form->title);
    
    });
    

    注意:您可以阅读有关 Laravel Helpers 的更多信息,例如。 Str::slug.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      相关资源
      最近更新 更多