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,第一个参数:外键表,第 ...
随机推荐
- ViewPager+handler实现轮播
先说下功能吧,随便设置一个网络图片链接的集合,作为图片的资源.我用ImageLoader来加载图片,在图片未加载完成时会ProgressBar加载状态 在Handler发送一个空消息来实现页面的轮播 ...
- 树莓派3(Raspberry pi 3)刷OpenWrt
原文在 https://my.oschina.net/wangandi/blog/687389 1.下载镜像,这个lede好像是openwrt的一个分支,openwrt本身还没有支持pi3,https ...
- 用Webstorm 运行React-native 工程时,出错:xcrun: error: unable to find utility "instruments", not a developer tool or in PATH
解决方法:在 终端执行如下命令 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/ 注意:前提是你已经安装了xcode
- 控制台执行java找不到或无法加载主类
- oracle_great_integration_译文
website:https://www.oracle.com/corporate/features/great-integrations.html Great Integrations(伟大的整合) ...
- CRM product UI里assignment block的显示隐藏逻辑
我们在product overview page里能看到很多的assignment block.但是runtime的时候真正显示出来的内容只是configuration里面看到内容的一个子集. Pro ...
- CDS view注解解析 - @Environment.systemField
下面的CDS view使用到了@Environment.systemField这个注解,定义了两个参数#SYSTEM_LANGUAGE和#USER. 这个view从CRM物料主数据的产品抬头表COMM ...
- *92. Reverse Linked List II (follow up questions)
Reverse a linked list from position m to n. Do it in one-pass and in-place Note: 1 ≤ m ≤ n ≤ length ...
- Fiddler实现IOS手机抓取https报文
如何设置代理访问内网进而抓取手机的Https报文进行分析定位. 准备工作: 1.PC上连接好VPN 2.管理员方式打开Fiddler工具 开搞: 一.设置Fiddler 1.打开Tools->O ...
- react中性能优化的点
react提升代码性能的点 1.绑定如果改变作用域点话放在constructor里面做,这样可以保证整个程序的作用域绑定操作只会执行一次,而且避免子组件的无谓渲染. 2.内置的setState是个异步 ...