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 模型操作的更多相关文章

  1. laravel7 ORM和laravel模型操作

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

  2. Laravel 5.2 四、.env 文件与模型操作

    一..env文件 .env 文件是应用的环境配置文件,在配置应用参数.数据库连接.缓存处理时都会使用这个文件. // 应用相关参数 APP_ENV=local APP_DEBUG=true //应用调 ...

  3. Laravel 模型事件入门

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

  4. laravel基础操作手册

    laravel基础操作手册 1.路由配置 测试配置路由: Route::get('/test', 'TestController@index'); 2.控制器书写 3.模型文件 4.增加扩展类文件 L ...

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

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

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

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

  7. 黑马lavarel教程---5、模型操作(AR模式)

    黑马lavarel教程---5.模型操作(AR模式) 一.总结 一句话总结: AR: ActiveRecord :Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型 ...

  8. .NET使用DAO.NET实体类模型操作数据库

    一.新建项目 打开vs2017,新建一个项目,命名为orm1 二.新建数据库 打开 SqlServer数据库,新建数据库 orm1,并新建表 student . 三.新建 ADO.NET 实体数据模型 ...

  9. xBIM 基本的模型操作

    目录 xBIM 应用与学习 (一) xBIM 应用与学习 (二) xBIM 基本的模型操作 xBIM 日志操作 XBIM 3D 墙壁案例 xBIM 格式之间转换 xBIM 使用Linq 来优化查询 x ...

随机推荐

  1. scrapyd和scrapyd-client使用教程

    原文地址:http://blog.wiseturtles.com/posts/scrapyd.html Tags scrapyd scrapy scrapyd-client By crazygit O ...

  2. 离线手动部署docker镜像仓库——harbor仓库(HTTPS)

    实验环境: harbor服务器系统:CentOS Linux release 7.5.1804 (Core)harbor服务器IP:10.1.12.114harbor版本:v1.5.0docker版本 ...

  3. Docker容器开机自动启动

     部署项目服务器时,为了应对停电等情况影响正常web项目的访问,会把Docker容器设置为开机自动启动. 在使用docker run启动容器时,使用--restart参数来设置: # docker r ...

  4. YAML快速入门

    https://www.jianshu.com/p/97222440cd08 我们学习Java,都是先介绍properties文件,使用properties文件配合Properties对象能够很方便的 ...

  5. 最近想学Json,请问大家有没有什么好的Json教程介绍一下?

    最近想学json,请问大家有没有什么好的Json教程介绍一下? 最近学完java的框架了,想了解一下json,可是找不到相关视频,请大家有这方面的Json教程好资料就介绍下啦,最后有网址链接啦. {} ...

  6. FTP学习笔记

    FTP有两个连接方式 1.控制连接 2.数据连接 控制链接 标准端口为21  用于数据传输中的控制 数据连接 标准端口20  用于数据传输中的上传 下载数据 数据传输的连接方式,主动连接 被动连接. ...

  7. Bootstrap关闭子类页面,刷新父类页面

    关闭子类页面,刷新父类页面 function doBack() { var index = parent.layer.getFrameIndex(window.name) //获取窗口索引值 pare ...

  8. sql注入、csrf

    ◎sql注入产生的原因?又如何防御sql注入? SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用 ...

  9. scrapy-redis

    scrapy_redis的大概思路:将爬取的url通过 hashlin.sha1生成唯一的指纹,持久化存入redis,之后的url判断是否已经存在,达到去重的效果 下载scrapy-redis git ...

  10. Navicat操作SQL server 2008R2文件.bak文件还原

    项目操作过程中,利用Navicat操作SQL Server2008R2数据备份,结果发现数据丢失了很多,不得不先对数据丢失部分进行差异对比,然后再重新输入. 1.利用Navicat导出的数据格式为sq ...