Laravel学习-模型的创建

el/2024/5/21 22:01:34

1. 模型一般创建的app目录下, 一般首字母大写

2. 创建模型命令:

php artisan make:model Admin/Member// 如果加上 -m 则同时生成迁移文件
php artisan make:model Admin/Member -m

还记得创建控制器的命令吗:

php artisan make:controller TestController

还记得创建迁移文件的命令:

// 创建迁移文件
php artisan make:migration create_zidingyi_table --create=zidingyi// 修改迁移文件(增加字段)
php artisan make:migration update_users_table --table=users// 生成迁移文件
php artisan migrate

还记得创建填充文件的命令:

php artisan make:seeder perperTableSeeder// 执行填充文件
php artisan db:seed --class=perperTableSeeder(需要执行的种子文件名)// 直接使用DB::table()

还记得创建模型工厂的命令:

// 来为 User Model 创建一个工厂类,该文件会放在 database/factory 目录下
php artisan make:factory UserFactory --model=User

 return 的值就是我们第 2 步调用工厂获取到的数据。生成数据的逻辑也只需要写在闭包函数中就可以。这里需要提一下 Faker 这个类,这是一个第三方库,Laravel 集成了这个第三方库

参考链接: Laravel factory 使用指引 | Laravel China 社区

在填充文件中使用

factory(App\User::class)->times(10)->make()->each(function($user,$index){$user->save();
});

3. 模型内容

<?phpnamespace App\Home;use Illuminate\Database\Eloquent\Model;class Member extends Model
{//定义模型关联的数据表(一个模型至操作一个表)// 表名protected $table = 'member';// 定义主键protected $primaryKey = 'id';// 设置允许写入的数据字段protected $fillable = ['id', 'name', 'age', 'email'];// 定义禁止操作时间public $timestamps = false;//模型序列化:Date 类型转换protected $casts = ['created_at' => 'date:Y-m-d H:i:s','updated_at' => 'date:Y-m-d H:i:s',];
}

4. 模型的增删改查

增加数据

<?phpnamespace App\Http\Controllers\Home;use Illuminate\Http\Request;
use App\Http\Controllers\Controller;use App\Admin\Member; // 这个是模型class IndexController extends Controller
{public function getName(Request $request) {$model = new Member();$requests = $request -> all();$result = $model -> create(['id' => $requests['id'], 'name' => $requests['name'], 'age' => $requests['age'], 'adress' => $requests['adress']]);dd($result);}
}

查询表的所有记录

$user = Admin::all();

查询某一条记录

$user = Admin::find(2);

findOrFail() 根据主键查找,如果没有找到就抛出异常

$user = Admin::findOrFail(1);

查询所有记录

$user = Admin::get();

使用模型的Create方法新增数据

$user = Admin::create(['username'=>'meimei']);

以属性查找用户,如果没有则新增

$user = Admin::firstOrCreate(['username'=>'66666']);

以属性查找用户,如果没有则新增,但不保存到数据库

$user = Admin::firstOrNew(['username'=>'77777']);

增加条件

$num = Admin::where('id','>','1')->update(['age'=>21]);

通过模型删除

  //$user = Admin::find(6);//$bool = $user->delete();

通过主键删除

$num = Admin::destroy(6);

删除多条记录 

  $num = Admin::destroy(1,2,3);$num = Admin::destroy([1,2,3]);

增加条件删除

$num = Admin::where('uid','>','4')->delete();

http://www.ngui.cc/el/5281779.html

相关文章

Laravel学习-文件上传

前端部分: 前端部分使用的是vue ant <a-uploadname"thumbUrl":multiple"true"action"https://www.mocky.io/v2/5cc8019d300000980a055e76":headers"headers"change"handleChange" > <a-button> <a-icon typ…

Laravel学习-迁移文件-表字段

$table->tinyIncrements(id); 相当于自动递增 UNSIGNED TINYINT$table->increments(id); 递增 ID&#xff08;主键&#xff09;&#xff0c;相当于 UNSIGNED INTEGER$table->string(name, 100); 相当于指定长度的 VARCHAR$table->text(descript…

Laravel学习-ajax请求响应

一. json格式 return response()->json(需要输出的json格式); 1. 在laravel中不能直接return 布尔值 true或者 false

Laravel学习-Session会话控制

1. Session // Session 中存一个变量 Session::put(key, value);// Session 取一个变量 Session::get(key);// 获取所有变量 Session::all();// 检测是否含有这个变量 Session::has(users);// 删除变量 Session::forget(users);// 删除所有变量 Session::flush();

Laravel学习-报错 - vendor\composer/../../database/migrations/2021_09_14_014956_create_table_goods

报错如下 include(D:\phpstudy_pro\WWW\laravel5b\vendor\composer/../../database/migrations/2021_09_14_014956_create_table_good s.php): failed to open stream: No such file or directory 创建数据库迁移文件后&#xff0c;会在autoload_static.php以及autoload_clas…

Laravel学习-理解中间件

1.通过一句命令创建一个 check 中间件&#xff1b; php artisan make:middleware Check我们打开 Http/Kernel.php 文件&#xff0c;在路由配置中间件的区域进行注册&#xff1b; protected $routeMiddleware [ check>\App\Http\Middleware\Check::class, ]我们在登录的路…

Laravel 学习-获取请求头(header)注意事项

Laravel获取请求头&#xff08;header&#xff09;注意事项 \Request::header();//这个是获取header里面的version参数值 \Request::header(user-token);或者&#xff1a; $request->header(user-token); 注意&#xff1a;header 的参数名称不能用下划线&#xff0c;否则传…

Mysql基础学习-创建数据库/创建表

1. 创建数据库 create database table1; 2. 查看数据库 show databases; 3. 备份数据库/恢复数据库 备份数据库要在DOS中执行 mysqldump -u 用户名 -p -B 数据库1 数据库2 数据库n > 文件名.sql 这里的文件名可以是路径, 可以备份多个数据库 4. 恢复数据库 Source 文…

Mysql基础学习-CRUD操作

insert into table_name(f1, f2) values(val1, val2)