laravel 模型操作
1. 简介
2. 创建模型
//模型文件默认创建在app目录下,也可以指定创建在某个文件夹下,如Model/Goods
1. php artisan make:model Goods
2. 这种方式会自动创建一个数据库迁移文件
php artisan make:model Goods -m
3. 模型限定
1. 模型所对应的默认表名是在模型后面加s,如果模型名称后面有s,则表名跟模型名称同名,eg:
Order => orders,
Goods => goods,
Country => countries 2. 主键字段 id 3. 时间字段 created_at, updated_at
4. 属性设置
1. 设置操作的表名
public $table = 'userinfo'; 2. 设置默认的时间字段
public $timestamps = false; 3. 设置默认的主键名称
public $primaryKey = 'uid';
5. 数据操作
//UserController.php
//创建模型对象
$goods = new \App\Goods;
//添加
$goods->title = '今天周四';
$goods->content = '今天天气很好哦,是个大晴天';
$goods->created_at = date('Y-m-d H:i:s');
$goods->updated_at = date('Y-m-d H:i:s');
$goods->save(); //读取
$info = \App\Goods::find(5);
//读取字段信息
echo $info->title;
echo $info->info['title']; //删除操作
$info = \APP\Goods::find(5);
$info->delete(); //更新操作
$info = \App\Goods::find(4);
$info->title = '今天周四丫';
$info->conten = '现在是晚上啦';
$info->save(); //向使用查询构造器一样使用模型,导入\App\Goods类
$data = Goods::get();
$data = Goods::OrderBy('id','desc')->where('id','>',2)->get();
6. 关系
模型图

6.1 一对一的关系设置
//User.php user模型
public function userinfo()
{
return $this->hasOne('App\Userinfo','user_id');
}
6.2 一对多的关系设置
//User.php user模型
public function post()
{
return $this->hasMany('App\Post','user_id');
}
6.3 属于关系创建
//User.php user模型
public function country()
{
return $this ->belongsTo('App\Country','country_id');
}
6.4 多对多的关系创建
//User.php user模型
public function group()
{
return $this->belongsToMany('App\Group','group_user','user_id','group_id');
}
laravel 模型操作的更多相关文章
- laravel7 ORM和laravel模型操作
1.什么是ORM 对象关系映射(Object Relation Maping),这个关系就是关系数据库.因此,顾名思义,ORM的核心是我们通过操作对应来操作关系数据库. ORM的优点: ORM提供了 ...
- Laravel 5.2 四、.env 文件与模型操作
一..env文件 .env 文件是应用的环境配置文件,在配置应用参数.数据库连接.缓存处理时都会使用这个文件. // 应用相关参数 APP_ENV=local APP_DEBUG=true //应用调 ...
- Laravel 模型事件入门
Laravel 模型事件允许你监听模型生命周期内的多个关键点,甚至可以在阻止一个模型的保存或者删除. Laravel 模型事件文档 概述了如何使用钩子将对应事件与相关的事件类型关联起来,但是本文的主旨 ...
- laravel基础操作手册
laravel基础操作手册 1.路由配置 测试配置路由: Route::get('/test', 'TestController@index'); 2.控制器书写 3.模型文件 4.增加扩展类文件 L ...
- laravel模型中非静态方法也能静态调用的原理
刚开始用laravel模型时,为了方便一直写静态方法,进行数据库操作. <?php namespace App\Models; use Illuminate\Database\Eloquent\ ...
- Laravel模型事件的实现原理详解
模型事件在 Laravel 的世界中,你对 Eloquent 大多数操作都会或多或少的触发一些模型事件,下面这篇文章主要给大家介绍了关于Laravel模型事件的实现原理,文中通过示例代码介绍的非常详细 ...
- 黑马lavarel教程---5、模型操作(AR模式)
黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...
- .NET使用DAO.NET实体类模型操作数据库
一.新建项目 打开vs2017,新建一个项目,命名为orm1 二.新建数据库 打开 SqlServer数据库,新建数据库 orm1,并新建表 student . 三.新建 ADO.NET 实体数据模型 ...
- xBIM 基本的模型操作
目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...
随机推荐
- 报错:ERROR ParcelUpdateService:com.cloudera.parcel.components.ParcelDownloaderImpl: Unable to retrieve remote parcel repository manifest
报错背景: CDH断电后重启失败,解决了种种错误之后,重启成功,但是重启之后的服务器没有任何进程, 查看/opt/cm-5.15.1/log/cloudera-scm-server/cloudera- ...
- scrapy实战之scrapyrt的使用
scrapyrt为scrapy提供了一个http接口,有了它,我们不用再执行命令,而是直接请求一个http接口来启动项目,如果项目是部署在远程的,会比较方便. 1.安装: pip install sc ...
- iptables禁止某个mac地址上网
iptables -I FORWARD -m mac --mac-source 60:14:B3:7D:6B:39 -j DROP 上面这条命令测试过是可行,禁止这个mac地址上网,马上禁止马上生 ...
- logging模块初识
日志级别 import logging logging.debug("debug message")logging.info("info message")lo ...
- 1.1python解决数学建模之席位分配问题
一:上代码 #比例法def rate_method(p,n): lst =[] #保存各组席位数 sum_ =sum(p) #人数和 k =0#临时变量 for i in ...
- 前端 js加密 后台java 解密 RSA
前端代码 : $.ajax({ type:"GET", url:"http://localhost:8084/getPulbicKey", dataType:& ...
- 【学习】数据处理基础知识(缺失值处理)【pandas】
缺失数据(missing data)大部分数据分析应用中非常常见.pd设计目标之一就是让缺失数据的处理任务尽量轻松. pd 使用浮点值NaN(Not a Number) 表示浮点和非浮点数组中的缺失数 ...
- mysql 5.5数据导入5.7 Failed - Error on Table user - 1067 - Invalid default value for 'CREATE_date'
表结构是这样 DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (....省略了一些无关紧要的字段 `CREATE_DATE_` timestamp NO ...
- python大法好——ython GUI编程(Tkinter)
Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...
- asp.net ajax get 调用(和post不一样,直接返回json才行,否则报错;post不能返回json)
<script type="text/javascript" > $(document).ready(function () { $('#Label1').click( ...