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. 报错: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- ...

  2. scrapy实战之scrapyrt的使用

    scrapyrt为scrapy提供了一个http接口,有了它,我们不用再执行命令,而是直接请求一个http接口来启动项目,如果项目是部署在远程的,会比较方便. 1.安装: pip install sc ...

  3. iptables禁止某个mac地址上网

    iptables -I FORWARD  -m mac --mac-source  60:14:B3:7D:6B:39 -j DROP 上面这条命令测试过是可行,禁止这个mac地址上网,马上禁止马上生 ...

  4. logging模块初识

    日志级别 import logging logging.debug("debug message")logging.info("info message")lo ...

  5. 1.1python解决数学建模之席位分配问题

    一:上代码 #比例法def rate_method(p,n):    lst =[] #保存各组席位数    sum_ =sum(p)    #人数和    k =0#临时变量    for i in ...

  6. 前端 js加密 后台java 解密 RSA

    前端代码 : $.ajax({ type:"GET", url:"http://localhost:8084/getPulbicKey", dataType:& ...

  7. 【学习】数据处理基础知识(缺失值处理)【pandas】

    缺失数据(missing data)大部分数据分析应用中非常常见.pd设计目标之一就是让缺失数据的处理任务尽量轻松. pd 使用浮点值NaN(Not a Number) 表示浮点和非浮点数组中的缺失数 ...

  8. 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 ...

  9. python大法好——ython GUI编程(Tkinter)

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  10. asp.net ajax get 调用(和post不一样,直接返回json才行,否则报错;post不能返回json)

    <script type="text/javascript" > $(document).ready(function () { $('#Label1').click( ...