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 ...
随机推荐
- Mac下用SSH连接远程Linux或Mac服务器
1.打开Mac终端 2.切换到root登录 输入命令:sudo -i,然后输入本机密码 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px &qu ...
- linux 如何降低入向软中断占比
最近遇到一个问题,当tcp收包的时候,我们的服务器的入向软中断比例很高. 我们知道,napi模式,可以降低收包入向软中断占比,那么,针对napi模式,能不能优化?本文针对2.6.32-358内核进行分 ...
- mysql根据汉字首字母排序[转]
select areaName from area order by convert(areaName USING gbk) COLLATE gbk_chinese_ci asc 说明 ...
- relative 和 absolute 定位关系
问题: relative 和 absolute 之间的关系是什么?有什么区别? 那,答案呢? relative 相对定位, 以自己没有设置relative 属性之前的位置来定位,占用没有设置rela ...
- Python---socket库
为方便以后查询和学习,特从常用库函数和示例来总结socket库 1. 术语 family:AF_INET socktype:SOCK_STREAM或SOCK_DGRAM protocol:IPPROT ...
- Python用户输入和代码注释
一.用户输入 若你安装的是Python3.x版本,当你在Python IDLE(编辑器) 中输入以下代码: name = input('用户名:') print('Hello',name) 保存并执行 ...
- flying中的AOP和IOC
注入属性:private synchronized void injectReferenceServices() { if(this.injectReferenceServicesInitialize ...
- Ubuntu 安装 Nginx 实现反向代理
安装Nginx依赖库(ubuntu平台) 最近域名通过了备案, 想着应用总不能带着端口号访问吧, 于是在网上踩了很多坑, 终于找到了一步直达的方法,起码这一次很顺利的实现了 安装gcc g++的依赖库 ...
- Cannot create an instance of OLE DB provider “OraOLEDB.Oracle” for linked server "xxxxxxx".
在SQL SERVER 2008 R2下用Windows 身份认证的登录名创建了一个访问ORACLE数据库的链接服务器xxxxx,测试成功,木有问题,但是其它登录名使用该链接服务器时,报如下错误: 消 ...
- vmware虚拟机无法连接网络
这是一个老生常谈的问题,而且网上有一套解决方法,最方便快捷的肯定属恢复虚拟网络了 说说我的情况 虚拟机VMware® Workstation 12 Pro centos6.8,克隆,192.168.2 ...