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 ...
随机推荐
- angular 选中切换面板
此方法采用的是没有路由的方式: html5 代码: <div [hidden]="flag"> <li class="music-list-datail ...
- PHP获取中英文字符串的首字母
使用场景:在对地区进行筛选时,我们经常会看到按照英文字母进行筛选定位,起初想着是数据表里存储上地区与首字母关联关系,但是觉得太麻烦,然后就想着根据地区名称来获取首字母,然后对地区进行分组,由此便用到了 ...
- 简单的线性规划-scipy
根据描述,我们用线性规划带约束来求解问题 # coding=utf-8 from scipy.optimize import linprog import numpy as np def maxGai ...
- JS与ajax遍历list
示例: <script> <c:forEach var="yanan" items="${yananList}"> ...
- linkin大话数据结构--Queue
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer).由于不必按顺序存储,所以插入和删除速度超 ...
- Linux Shell 文件描述符 及 stdin stdout stderr 重定向
Abstract: 1) Linux Shell 命令的标准输入.标准输出.标准错误,及其重定位: 2)Linux Shell 操作自定义文件描述符: 文件描述符是与文件相关联的一些整数,他们保持与已 ...
- redis数据类型-字符串类型
Redis数据类型 字符串类型 字符串类型是Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据.你可以用其存储用户的邮箱.JSON化的对象甚至是一张图片.一个字符串类型键允许存储的 ...
- SQL语句-create语句
SQL语法基础 Create database语句 Create database语句是在MySQL实例上创建一个指定名称的数据 库,create schema语句的语义和create databas ...
- jenkins构建一个maven项目[五]
标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 构建一个maven项目,即为构建java项目.模拟实验之前先把实验代码推送到 ...
- NFS+sersync+Keepalived高可用方案
标签(linux): nfs+keepalived 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 这套解决方法案的优点是配置比较简单.容易上手,缺点是当主NFS ...