Laravel学习-模型的创建

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. 模型内容

<?php

namespace 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. 模型的增删改查

增加数据

<?php

namespace 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();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值