Laravel创建产品-CRUD之Create and Store
上一篇说了laravel用crud之index列出产品items,我们现在试着添加产品,用到CRUD的 Create 和 Store 方法,打开/app/Http/Controllers/ItemController.php定义一下create和store方法
1,添加新产品
1 2 3 4 | public function create() { return view( 'items.create' ); } |
2,保存刚刚添加的产品到数据库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public function store(Request $request) { $validatedData = $request->validate([ 'name' => 'required|unique:items|max:255' , 'price' => 'required|numeric' , 'img' => 'required|max:255' , 'description' => 'required|max:255' , ]); // 检查输入是否合法 // $item = New Item; $item->name = $request->name; $item->price = $request->price; $item->img = $request->img; $item->description = $request->description; $item->save(); } |
3,写create.blade.php模板,文件在/resources/views/items/create.blade.php,添加如下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | @extends( 'layouts.app' ) @ if ($errors->any()) <div class= "alert alert-danger" > <strong>Errors:< /strong > <ul> @foreach ($errors->all() as $error) <li>{{ $error }}< /li > @endforeach < /ul > < /div > @endif @section( 'content' ) <div class= "container" > <div class= "row" > <div class= "col-md-8 col-md-offset-2" > <div class= "panel panel-default" > <div class= "panel-heading" >Create New Item< /div > <div class= "panel-body" > <form method= "POST" action= "/items" aria-label= "Register" > @csrf <div class= "form-group row" > <label for = "name" class= "col-md-4 col-form-label text-md-right" >Name< /label > <div class= "col-md-6" > <input id = "name" type = "text" name= "name" value= "" required= "required" autofocus= "autofocus" class= "form-control" > < /div > < /div > <div class= "form-group row" > <label for = "email" class= "col-md-4 col-form-label text-md-right" >Price< /label > <div class= "col-md-6" > <input id = "email" type = "text" name= "price" value= "" required= "required" class= "form-control" > < /div > < /div > <div class= "form-group row" > <label for = "password" class= "col-md-4 col-form-label text-md-right" >Img< /label > <div class= "col-md-6" > <input id = "password" type = "text" name= "img" class= "form-control" > < /div > < /div > <div class= "form-group row" > <label for = "password-confirm" class= "col-md-4 col-form-label text-md-right" >Description< /label > <div class= "col-md-6" > <input id = "password-confirm" type = "text" name= "description" required= "required" class= "form-control" > < /div > < /div > <div class= "form-group row mb-0" > <div class= "col-md-6 offset-md-4" > <button type = "submit" class= "btn btn-primary" >Save< /button > < /div > < /div > < /form > < /div > < /div > < /div > < /div > < /div > @endsection |
打开http://lawoole.z5w.net/items/create添加产品,然后去数据库看看是不是增加了一个新产品

加微信交流
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2014-07-10 帝国cms调用随机文章 支持一个id段内的调用
2014-07-10 修改dedecms面包屑导航的首页链接关键字