我有一个需要生成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 管理员对 $form 有一些回调,这对于生成 slug 情况很有用:
use IlluminateSupportStr;
$form->text('title');
$form->hidden('slug');
$form->saving(function (Form $form) {
$form->slug = Str::slug($form->title);
});
注意:您可以阅读更多关于Laravel Helpers的信息,例如Str::slug。