Laravel模型操作

模型定义位置:项目路径/app/下,建议分目录管理

一:模型

语法:php artisan make:model 模型名

创建模型:

php artisan make:model Home/Model

在这里插入图片描述
在这里插入图片描述

二:完善模型

1定义$table属性,值是不带前缀的表名

2 定义$timestamps属性,值是false,如果不设置为false则会默认操作数据库中created at和updated at字段,如果数据库表中无此字段容易报错

3定义fillable属性,表示模型插入数据时允许插入到数据库

定义属性:

//定义模型,一个模型操作一个数据表
    protected $table = '表名';
    //定义主键
    protected $primarykey = 'id';
    //定义禁止操作时间
    public $timestamps = false;
    //允许写入数据库
    public $fillable = ['id','username','password','age'];

在这里插入图片描述

三:模型使用


在Controller引入模型:

use App\Home\模型; //引入模型

在这里插入图片描述

定义测试路由:

//模型测试
Route::group(['prefix'=>'Model'], function () {
    
    Route::match(['get','post'],'add', 'Home\IndexController@madd');//增
    Route::match(['get','post'],'del', 'Home\IndexController@mdel');//删
    Route::match(['get','post'],'update', 'Home\IndexController@mupdate');//改
    Route::match(['get','post'],'select', 'Home\IndexController@mselect');//查

});

四:模型添加


Controller写法:

//模型操作在数据库中增加
   public function madd(){
    //实例化模型
    $model = new User();
    //字段映射到属性
    $model -> username = 'admin4';
    $model -> password = '123123';
    $model -> age = '89';
    //操作实例映射到记录
    $result = $model -> save();
    dd($result);
   }

浏览器访问:
在这里插入图片描述

数据库:
在这里插入图片描述



插入方法二:

前台视图写法:
在这里插入图片描述

路由:

Route::match(['get'],'/Home/test/index4', 'Home\IndexController@index4');

Controller:
  //index4
    public function index4(){
        return view('Home/test/index4');
    }

修改原Controller方法:
//模型操作在数据库中增加
   public function madd(Request $request){
     //实例化模型
    $model = new User();
    $result =  $model -> create($request -> all());
    dd($result);
   }

浏览器操作:
在这里插入图片描述在这里插入图片描述数据库:
在这里插入图片描述

五:模型查询


  • 获取指定id字段数据

Controller写法:

 //mselect查询操作
   public function mselect(){
    //查询指定主键的数据
    $data = User::find(4);
    dd($data);
   }

浏览器访问
在这里插入图片描述(等到的结果集是一个对象,这时可以使用toArray方法将对象转化成数组输出)

Controller:

 //mselect查询操作
   public function mselect(){
    //查询指定主键的数据
    $data = User::find(4);
    dd($data -> toArray());
   }

在这里插入图片描述

  • 获取特定条件的第一条数据

Controller写法:

 //mselect查询操作
   public function mselect(){
    //查询id>4的第一条数据
    $data = User::where('id','>',4) -> first() -> toArray();
    dd($data);
   }

浏览器访问:
在这里插入图片描述


查询多行字段数据

Controller写法1:

注意all()方法前不能加任何判断方法

 //mselect查询操作
   public function mselect(){
    //查询所有数据
    $data = User::all() -> toArray();
    dd($data);
   }

在这里插入图片描述

Controller写法2:

  //mselect查询操作
   public function mselect(){
    //查询所有数据
    $data = User::select() -> get() -> toArray();
    dd($data);
   }

在这里插入图片描述

六:模型修改

  • 方法一
   //Controller中模型修改操作
   public function mupdate(){
    //ar模式修改操作
    $data = User::find(5);
    //赋值属性
    $data -> age = '44';
    //将实例映射到记录
    $result = $data -> save();
    dd($result);
   }

在这里插入图片描述在这里插入图片描述

  • 第二种方法
  //模型修改操作
   public function mupdate(){
    $result = User::where('id','5')->update(['age' => '77']);
    dd($result);
   }

在这里插入图片描述
在这里插入图片描述

七:模型删除

 //模型删除操作
   public function mdel(){
    //ar模式删除操作
    $data = User::find(5);
    dd($data -> delete());
   }

在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deeeelete

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值