Laravel -- 模型
模型文件
<?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 -- 模型的更多相关文章
- Laravel 模型事件入门
Laravel 模型事件允许你监听模型生命周期内的多个关键点,甚至可以在阻止一个模型的保存或者删除. Laravel 模型事件文档 概述了如何使用钩子将对应事件与相关的事件类型关联起来,但是本文的主旨 ...
- laravel模型中非静态方法也能静态调用的原理
刚开始用laravel模型时,为了方便一直写静态方法,进行数据库操作. <?php namespace App\Models; use Illuminate\Database\Eloquent\ ...
- Laravel模型事件的实现原理详解
模型事件在 Laravel 的世界中,你对 Eloquent 大多数操作都会或多或少的触发一些模型事件,下面这篇文章主要给大家介绍了关于Laravel模型事件的实现原理,文中通过示例代码介绍的非常详细 ...
- laravel模型建立和数据迁移和数据填充(数据填充没有成功)未完
开始创建我们的第一个 Article 模型及其对应迁移文件了,我们在项目根目录运行如下 Artisan 命令一步到位: php artisan make:model Article -m -m 是 - ...
- laravel 模型 $table $guarded $hidden
首先以App\User模型为例 1.$table属性 表名,对应数据库中的表名 2.guarded)属性 guarded表示在create()方法中不能被赋值的字段 3.$hidden属性 $hid ...
- 分享8个laravel模型时间戳使用技巧
默认情况下,Laravel Eloquent 模型默认数据表有 created_at 和 updated_at 两个字段.当 然,我们可以做很多自定义配置,实现很多有趣的功能.下面举例说明. 1. 禁 ...
- laravel7 ORM和laravel模型操作
1.什么是ORM 对象关系映射(Object Relation Maping),这个关系就是关系数据库.因此,顾名思义,ORM的核心是我们通过操作对应来操作关系数据库. ORM的优点: ORM提供了 ...
- laravel 模型操作
1. 简介 2. 创建模型 //模型文件默认创建在app目录下,也可以指定创建在某个文件夹下,如Model/Goods 1. php artisan make:model Goods 2. 这种方式会 ...
- laravel 模型事件 updated 触发条件
1. 只有 $sku->{attribute} != $sku->getOriginal({attribute}) 不一致的时候才会触发 getDirty() 不为空的时候才触发, 而且不 ...
- laravel模型表建立外键约束的使用:
模型: //表->posts class Post extends Model { //关联用户: public function user(){ //belongsTo,第一个参数:外键表,第 ...
随机推荐
- 转:如何在ArcMap下将栅格图象矢量化的基本步骤 (对影像的校准和配准、栅格图象矢量化)
矢量对象是以矢量的形式,即用方向和大小来综合表示目标的形式描述的对象.例如画面上的一段直线,一个矩形,一个点,一个圆,一个填充的封闭区域--等等. 矢量图形文件就是由这些矢量对象组合而成的描述性文件. ...
- C++之不带指针类的设计——Boolean
经典的类设计分类 带指针类 不带指针类 Header文件的布局 #ifndef __COMPLEX__ #define __COMPLEX__ #include <iostream.h> ...
- canvas入门(一)
canvas是HTML 5中非常重要的一个标签,关于它的功能和使用方法在这我就不一一细谈了,毕竟网上相关知识太多,而且自认为如果是我总结那些知识会让读者看的更乱,所以我就不白费力气了,贴上链接:htt ...
- 爬虫入门之urllib库(一)
1 爬虫概述 (1)互联网爬虫 一个程序,根据Url进行爬取网页,获取有用信息 (2)核心任务 爬取网页 解析数据 难点 :爬虫和反爬虫之间的博弈 (3)爬虫语言 php 多进程和多线程支持不好 ja ...
- 小于12px的字体大小在Chrome中不起作用
今天遇见一个小问题,让人挺郁闷的,在Chrome浏览器中无法把字体变成12px以下.网上搜索以下,发现无论中文英文数字在网页中CSS设置小于12px后各大浏览器均支持,在谷歌chrome浏览器不支持解 ...
- STM32-F429ZIT6-开发流程
---恢复内容开始--- 一.开发环境搭建 1.编译器安装破解 2.STM32Cube MX安装 3.驱动安装 4.固件库安装 二.硬件准备 1.PC 2.STM32开发板 3.下载线 三.资料准备 ...
- python+pymssql+selenium 获取短信验证码登录(实战练习)
登录页面输入手机号, 获取短信验证码(验证码有10分钟有效期) 1 连接sql server数据库,获取10分钟之内的有效短信验证码 2 页面输入手机号,并获取验证码.若存在有效验证码则输入验证码,若 ...
- IOS CoreLocation框架的使用(用于地理定位)
● 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 ● 导航:去任意陌生的地方 ● 周边:找餐馆.找酒店.找银行.找电影院 ● 在上述应用中,都用到了地图和定位功能,在iOS开发中 ...
- 将 form 参数转换为 json 绑定 datagrid 上
$.fn.serializeJson=function(){ var serializeObj={}; var array=this.serializeArray(); var str=this.se ...
- labelme也可以标注polygan
https://blog.csdn.net/wc781708249/article/details/79595174 按照这个安装就可以了 sudo apt-get install python-qt ...