laravel - Laravel:使用 Create & Validate 方法从 Title 自动创建 Slug
问题描述
我想根据输入表单的标题自动创建一个 slug 并将其保存到数据库中。目前,这是我的控制器的设置方式:
public function store(News $id) {
News::create($this->validateArticle());
return redirect('/news');
}
public function validateArticle() {
return request()->validate([
'title' => 'required',
'excerpt' => 'nullable',
'body' => 'nullable'
]);
}
如何修改此代码,以便根据标题自动生成 slug?
谢谢。
解决方案
这是如何做到这一点的另一种选择。或者你可以像这样使用 Observer 来观察 crating 方法news->slug= Str::slug($request->title);
public function store(Request $request)
{
$news= new News();
$news->title= $request->title;
$news->slug= Str::slug($request->title);
$news->excerpt= $request->excerpt;
$news->body= $request->body;
$news->save();
return redirect('/news');
}
使用你 import Struse Illuminate\Support\Str;
推荐阅读
- java - 所有依赖项都无法解决?
- javascript - ArcGIS API for JavaScript - 使用外部地理编码服务的搜索小部件
- python - 计数反转而不迭代两次
- python - 检查数字是否是Python中的素数
- android - 从 DJI Android SDK 获取云台角度
- git - 忽略要在 git 中提交的文件夹
- typescript - TypeScript:不可分配给 boolean 或 PromiseLike
- android - 在 Kotlin Android 中将文件作为公共上传到 S3
- django - Visual Studio 2017 Django 项目问题
- javascript - 您如何在任何网站上运行 Js 文件?