模型文件

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Student extends Model
{
//指定表名
protected $table = 'student';
//指定主键
protected $primaryKey = 'id';
//设置Unix 时间戳
protected $dateFormat = 'U';
//指定允许批量赋值的字段,和Model::create()添加数据一起使用
protected $fillable = ['name'];
//指定不允许批量赋值的字段
protected $guarded = [];
}

使用模型查询数据

public function  orm1(){
//查询所有并返回一个集合
$students = Student::all(); //根据主键id来查询
$students = Student::find(1); //根据主键查找,查不到就报错
$students = Student::findOrFail(3); //根据条件进行查询
$students = Student::where('name','=','xian')->first();
dd($students); //指定返回几条数据
Student::chunk(3, function ($students){
dd($students);
});

使用模型新增数据

public  function orm2(){
//使用模型新增数据
$student = new Student();
$student->name = 'jianqiao';
$bool=$student->save();
dd($bool); }

使用create方法添加数据

//使用模型create方法添加数据
$student = Student::create([
'name'=>'joker','age'=>18
]);
dd($student);
//firstOrCreate()若查找不到则添加数据并返回新的实例
$student = Student::firstOrCreate(
['name'=>'imooc','age'=>38]
);
dd($student);

使用模型修改数据

public function orm3(){
$students = Student::find(5);
$students->age=27;
$bool=$students->save();
dd($bool);
}

使用模型删除数据

public function orm4(){
//通过模型删除数据
$students = Student::find(12);
$bool=$students->delete();
dd($bool);
//通过主键删除
$num = Student::destroy(13);
dd($num);
$num = Student::destroy([1,2]);
dd($num);
//通过条件删除
$num = Student::where('name','=','root')->delete();
dd($num);
}
//指定表名
protected $table = 'student';
//指定主键
protected $primaryKey = 'id';
//设置Unix 时间戳
protected $dateFormat = 'U';
//指定允许批量赋值的字段,和Model::create()添加数据一起使用
protected $fillable = ['name'];
//指定不允许批量赋值的字段
protected $guarded = [];

Laravel -- 模型的更多相关文章

  1. Laravel 模型事件入门

    Laravel 模型事件允许你监听模型生命周期内的多个关键点,甚至可以在阻止一个模型的保存或者删除. Laravel 模型事件文档 概述了如何使用钩子将对应事件与相关的事件类型关联起来,但是本文的主旨 ...

  2. laravel模型中非静态方法也能静态调用的原理

    刚开始用laravel模型时,为了方便一直写静态方法,进行数据库操作. <?php namespace App\Models; use Illuminate\Database\Eloquent\ ...

  3. Laravel模型事件的实现原理详解

    模型事件在 Laravel 的世界中,你对 Eloquent 大多数操作都会或多或少的触发一些模型事件,下面这篇文章主要给大家介绍了关于Laravel模型事件的实现原理,文中通过示例代码介绍的非常详细 ...

  4. laravel模型建立和数据迁移和数据填充(数据填充没有成功)未完

    开始创建我们的第一个 Article 模型及其对应迁移文件了,我们在项目根目录运行如下 Artisan 命令一步到位: php artisan make:model Article -m -m 是 - ...

  5. laravel 模型 $table $guarded $hidden

     首先以App\User模型为例 1.$table属性 表名,对应数据库中的表名 2.guarded)属性 guarded表示在create()方法中不能被赋值的字段 3.$hidden属性 $hid ...

  6. 分享8个laravel模型时间戳使用技巧

    默认情况下,Laravel Eloquent 模型默认数据表有 created_at 和 updated_at 两个字段.当 然,我们可以做很多自定义配置,实现很多有趣的功能.下面举例说明. 1. 禁 ...

  7. laravel7 ORM和laravel模型操作

    1.什么是ORM 对象关系映射(Object Relation Maping),这个关系就是关系数据库.因此,顾名思义,ORM的核心是我们通过操作对应来操作关系数据库. ORM的优点:  ORM提供了 ...

  8. laravel 模型操作

    1. 简介 2. 创建模型 //模型文件默认创建在app目录下,也可以指定创建在某个文件夹下,如Model/Goods 1. php artisan make:model Goods 2. 这种方式会 ...

  9. laravel 模型事件 updated 触发条件

    1. 只有 $sku->{attribute} != $sku->getOriginal({attribute}) 不一致的时候才会触发 getDirty() 不为空的时候才触发, 而且不 ...

  10. laravel模型表建立外键约束的使用:

    模型: //表->posts class Post extends Model { //关联用户: public function user(){ //belongsTo,第一个参数:外键表,第 ...

随机推荐

  1. window medio player 完美代码

    var arr = [               '<object width="240" height="240" align="basel ...

  2. 关于selenium无法定位动态元素的解决方法

    今天在写一个关于登录的自动化脚本时,在对元素定位时总会报下面的错:

  3. 使用shell调用python中的函数

    最近遇到一个需求,需要通过shell调用python中的一个函数,发现其实也挺简单的: python脚本如下: test.py: import ConfigParser config = Config ...

  4. 【BZOJ1171】大sz的游戏(线段树+单调队列)

    点此看题面 大致题意: 有\(n\)个点,两点间最大通讯距离为\(L\).已知除\(1\)号点外第\(i\)个点能够发出和接收的信号区间\([l_i,r_i]\)以及到\(1\)号点的距离\(dis_ ...

  5. 【[Violet]樱花】

    就是化柿子 我们求 \[\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\] 的正整数解的个数 喜闻乐见的化柿子了 \[\frac{x+y}{xy}=\frac{1}{n!}\ ...

  6. 【转】android ListView详解

    由于google doc 很多人都打不开,故更新了源码下载地址 [源码下载]----2011-01-18 在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根 ...

  7. 搜索自动提示的简单模拟JQuery

    使用jQuery实现类似于百度搜索时的自动完成功能,界面效果 所示. 首先在输入框上注册keyup事件,然后在事件中通过AJAX获取JSON对象.取得数据后,每一项数据创建一个li标签,在标签上注册c ...

  8. 【luogu P3369 【模板】普通平衡树(Treap/SBT)】 题解 pb_ds

    我永远都爱STL ! 我爱PB_DS ! #include <iostream> #include <cstdio> #include <ext/pb_ds/tree_p ...

  9. Android学习笔记_9_SQLiteOpenHelper对象之数据库增删改查以及事务回滚操作

    一.SQLite数据库: 在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进 ...

  10. c++ 虚基类应用

    多重继承存在二义性,为了消除二义性在访问相同名称的属性时需要加上类名,加以区分.虽然这样可以解决二义性,但是相同的属性出现在多个基类中,为了解决数据冗余,c++引入了虚基类. 虚基类定义:class ...