表单长好之後准备来新增跟查询资料啦。
Laravel 原生有 DB 类别来帮助查询跟新增资料,像是
$users = DB::table('users')->get(); //取出 users 表单的所有资料
不过 DB 主要就是单纯的查询跟写入功能,对於写入前跟读取後的资料处理都要再另外进行。
这部分就是 Eloquent ORM 的长处了,Eloquent 会针对各表单建立 Model 类别,在这个 Model 中可以定义各栏位写入跟读取时的额外处理,像是型别转换或编译、解析 Json 资料,或是限制某些栏位不被直接写入(像是外键 id),又或是在大量读取资料时不包含指定栏位等等。在 Model 设定之後进行查询的程序码都可以简化成几个简单的函式,整体上可以让程序码更简洁、更容易阅读。
首先用指令产生 Model
sail artisan make:model Todo
产生的 Model 预设放在 App\Models 底下。
如果是已经用 migration 建好了表单,要产生对应的 Model 的话就要注意 Model 的名称,以 Todo 为例, Eloquent 在执行查询时会自动找寻名称为 todos 的表单。
也可以直接从 Model 开始建立,建立时在一并产生 migration 档案
sail artisan make:model Todo -m
除了 migration 外也可以同时产生 Controller,Seeder(种子资料),Factory(自动产生种子资料值)档案
sail artisan make:model Todo -m -c -s -f
sail artisan make:model Todo -mcsf //功能跟上面相同
-c 指令产生的 controller 会是全空的,可以再加上 -r (resource)或 --api (api source) 指令产生预设的函式
sail artisan make:model Todo -mcsfr
也有直接产生全餐的指令
sail artisan make:model Todo -a
-a 指令产生的 controller 预设是用 resource controller,可以加上 --api 修改成 api soucre。
sail artisan make:model Todo -a --api
这样就省去自己一个个建立的时间了,再到 routes/web.php 加上
// routes/api.php
use App\Http\Controllers\TodoController;
//...
Route::resource('todo', TodoController::class);
这样 CRUD 的路由就都开通了,可以直接开始实作。
<<: Day09 React Props- Array.map()
>>: 纯手工打造UART版资料清洗工具 之 com0com for win10 x64 工具介绍
前言 工作术不只是工作上,还有自己想做的事情,目的都是在一样的时间内做更多事情,且挤出更多时间。 聪...
希望前一日的吉良吉影解说还是够ㄎ一ㄤ,大家不要向大会检举有人在呼麻写文章QQ 虽说Jojo不相称的经...
今天继续介绍 NetSuite 几个基本的 Glossary, 这些 Glossary 经常会出现在...
如何实现一套基础开发流程? 在前面的章节里谈到了 GCP、Docker、Cloud Run 等技术,...
tags: 2021铁人赛 React 一般来说刻板前应该会需要画个wireframe会比较清楚一些...