laravel框架基础知识点
一、数据库:DB
1、db查 DB::table('msg')->where('id','>',$id)->get()
查询单行
DB::table('msg')->where('id','=',$id)->first() 2、db增 DB::table('msg')->insertGetId($data);//返回插入的行号
DB::table('msg')->insert($data);//返回执行插入的结果 布尔值
3、db删 DB::table('msg')->where('id','=',$id)->delete();
或
DB::table('msg')->where('id',$id)->delete(); 4、db改 DB::table('msg')->where('id',$id)->update($data); 二、模型:model 1、注意
a.laravel系统默认 模型名称和数据表有一定关联的
也就是数据表和模型名相差一个s (即表名是users那么模型类名是user)
假如数据表是user,模型的类名也是user怎么办
为了解决这个问题需要在模型里面配置
public $table = 'user'; 2、模型增 用$model->property;$model->save() b.当数据表中没有update_at 和created_at字段时(Eloquent 在数据的表中自动地将维护 created_at 和 updated_at 字段)
使用$model->save()会出现如下错误
Column not found: 1054 Unknown column 'updated_at' in
解决方案: i:只需简单的添加这些 timestamp 字段到表中。
ii:如果您不希望 Eloquent 维护这些字段,在模型中添加以下属性:
public $timestamps = false; 3、模型查
单行
用(new Msg())->find($id);
用Msg::find($id); 多行
Msg::all('id','title','content')//查询多行 并查询其中某些字段
Msg::where('id','<',$id)->get(['id','title'])
Msg::where('id','<',$id)->select('id','title')->get() 4、模型改
$msg = Msg::find($id);
$msg->title = $_POST['title'];
$msg->content = $_POST['content'];
$msg->save(); 5、模型删
$msg = Msg::find($id);
$msg->delete();
或
Msg::where('id',$id)->delete(); 6、复杂查询 a.排序 限制order limit
Msg::orderBy('id','desc')->skip(2)->take(5)->get()//skip跳过2条,take拿5条相当于 limit(2,5) b.统计等 count
Msg::count('*');Msg::count();
Msg::max('id'); c.分组
Goods::select(DB::row('avg(shop_price)'))->groupBy('cat_id')->get()
//因为select(avg(shop_price))里面的参数
//会被laravel系统理解为数据表的字段
//所以要用DB::row('avg(shop_price)') 7、model约定 laravel默认
protected $table = 'msgs';
protected $timestamps = true;
protected $primaryKey = 'id'; 在model里面可以修改
protected $table = 'msg';
protected $timestamps = false;
protected $primaryKey = 'xx_id'; 三、request 对象(有点像tp的i函数) 更新数据
function update(Request $req,$id){
//然后所有请求信息可以从$req中获取
$msg = Msg::find($id);
$msg->title = $req->title;
或
$msg->title = $req->input('title','如果没有post[title],这里是默认值');
......
} 上传文件
$req->file('pic')->move('./images/','test.jpg');
laravel框架基础知识点的更多相关文章
- Laravel 框架 基础(一)
Laravel 框架 laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支持.隐式模型绑定.简化 Eloquent 全局作用域.可选择的认证脚手架.中间件组. ...
- laravel框架基础知识总结
一.laravel简介 laravel是一套优雅简介的PHP开发框架,受欢迎程度非常之高,功能强大,工具齐全:以下是本人在学习过程中记录的laravel比较基础的资料,权当学习笔记,请大神们多多指教 ...
- laravel框架基础(1)---入门与介绍
1.安装laravel5.7 (composer )2018-12-28 11:59:02 [作者:struggler] Php的版本要求:php>=7.1.3 打开php OpenSSL扩展 ...
- laravel框架基础(2)---laravel项目加载机制
当我们,通过浏览器请求laravel的时候 laravel就会根据我们的请求链接来选择对应的方法执行并返回我们所需要的实际结果. 那么这个过程是怎样的呢? 1.生命周期 2018-12-28 17:0 ...
- ci框架基础知识点
一.路由 1.index.php/test/hello->控制器test的hello方法 2. 也可以手动配置路由 app/config/routes.php中 I:$route[' ...
- 6个项目带你全面掌握Laravel框架
Laravel框架简介: Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来,帮你构建一个完美的网络APP,而且每行 ...
- php的laravel框架快速集成微信登录
最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是 ...
- .NET基础知识点
.NET基础知识点 l .Net平台 .Net FrameWork框架 l .Net FrameWork框架提供了一个稳定的运行环境,:来保障我们.Net平台正常的运转 l 两种交 ...
- laravel框架总结(十) -- 返回值
以前用CI框架对于返回值没有过多关注,但是发现使用laravel框架的时候出现了一些小问题,特意实践总结了一些常用情形,希望对大家有所帮助 先理解几个概念: 1>StdClass 对象=&g ...
随机推荐
- ios开发 第三天
1.复合 对象可以引用其它对象,可以利用其它对象提供的特性. 通过包含作为实例变量的对象指针实现的. 2.OC是单一继承 3.继承-重构 4.类实例化对象时,self指向了对象的首地址. 类对象isa ...
- jstl 的判断使用
JSTL 是JSP的标准标记库 1.必须引入的头部标签 <%@ taglib uri="http://java.sun.com/jstl/core_rt"prefix=&q ...
- K8S API 调用
不好意,本人比较懒,OneNote 复制粘贴的时候就是自动变成图片了.请各位看官多多见谅. 遗留问题: 目前pod仅支持修改 * and(),so...
- Python使用requests模块访问HTTPS网站报错`certificate verify failed`
使用requests模块访问HTTPS网站报错: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Nam ...
- linux_磁盘体系
未曾习艺先学礼,未曾学武先习德 当今磁盘都是温室磁盘,原理是一样的,高速转动的的盘,磁头做径向运动 当今磁盘的发展趋势: 体积更小.速度更快.容量更大.使用更安全 速度更快: 主轴转速: 10000/ ...
- 【转】三大UML建模工具Visio、Rational Rose、PowerDesign的区别
本文转自http://developer.51cto.com/art/201006/207993.htm UML建模工具相信大家有所了解,那么你对UML建模工具Visio .Rational Rose ...
- __getattr__动态获取接口
# -*- coding:utf-8 -*- #在看廖雪峰的python3.5教学时,看到面向对象高级编程_定义类 https://www.liaoxuefeng.com/wiki/001431608 ...
- Struts2中实现随机验证码
一.创建RandomNum类 1: import java.awt.Color; 2: import java.awt.Font; 3: import java.awt.Graphics; 4: im ...
- Java NIO 之 Buffer
Java NIO 之 Buffer Java NIO (Non Blocking IO 或者 New IO)是一种非阻塞IO的实现.NIO通过Channel.Buffer.Selector几个组件的协 ...
- Hyperledger Fabric Endorsement policies——背书策略
背书策略 背书策略用于指导peer如何确定交易是否得到了的认可.当一个peer接收到一个事务时,它会调用与事务的Chaincode相关联的VSCC(验证系统链代码),作为事务验证流程的一部分,以确定交 ...