首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Laravel系列4.1】连接数据库与原生查询

Laravel 框架中的 DB 和 ORM 是两个不同的组件,关于 ORM 的概念,我们也将在相关的学习中了解到,但是现在我们先从简单的普通查询学起。...从 options 这个参数里面,我们可以看出,Laravel 默认使用的是 PDO 连接的数据库,我也没有研究在 Laravel 中如何使用 mysqli 进行连接,因为 PDO 确实已经是事实的连库标准了...SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '', `sex` int(11) NOT NULL DEFAULT '0', PRIMARY...我们在审阅查看代码,按照标准的规范写,不需要详细的看语句,就可以通过方法名快速地知道这段数据库操作是要干什么,这不是非常好的一件事嘛。...而且我们会发现,Laravel 只能使用 PDO ,无法使用 MySQLi 来进行数据库操作。

3.2K50

通过Eloquent实现Repository模式

设计模式,可以去之前的文章查看:orm 系列 之 常用设计模式 我们可以看到Model中混合了各种模式,这就要求使用者在使用的时候清楚的知道怎么使用,这里的清楚知道怎么用是指根据SOILD原则,优雅的使用...($count = 10); public function save(MemberInterface $member); } The Eloquent Member Repository Implementation...此处还注意到一个问题,我们此时使用的posts是表示relation,但是之前是member的一个字段,明显冲突了,我们需要修改字段名,从posts到post_count,因为我们之前使用了常量来定义属性...,因此只需要下面一行代码就解决问题了: const ATTR_POST_COUNT = ‘post_count’; 总结 介绍了这么多,我们解决了一个核心问题:因为Eloquent的功能耦合,我们应该正确的使用它...参考 Separation of Concerns with Laravel’s Eloquent Part 1: An Introduction

65930

orm 系列 之 Eloquent演化历程2

当访问 commentable 关联ORM 根据commentable_type 字段来判断所属模型的类型并返回相应模型实例。...让我们跟着git继续追踪吧_ 新纪元 为了解决PHP组件管理及散步的问题,2009年的php|tek大会上成立了PHP-FIG组织,目的在于透过三个方式来制定PHP社群在开发组件的规范,laravel...此处为什么会出现Manager,当项目变复杂后,我们很难简单的和Eloquent的内部的组件进行有效的功能了,这个时候需要一个项目的门面,帮助我们和外界沟通,让外界尽可能简单的使用Eloquent,于是就出现了...Manager,记得网上搜索过关键字Using Eloquent outside Laravel,我们可以看到一篇Vivek Kumar Bansal写的文章,文章从2方面介绍了怎么使用Eloquent...参考 [ Laravel 5.3 文档 ] Eloquent ORM —— 关联关系

2.4K30

牛哇,PHP这个开发框架真的好香!

重点先学会应用增删改查 1.环境配置 前提:lavarel框架要对应php的版本,否则就有可能报错误~ 名称 版本号 Laravel 7.30.6 PHP 7.4.13 Composer 2.5.8...## 使用composer 创建一个为laravel-demo项目 composer create-project --prefer-dist laravel/laravel laravel-demo..."; }); 浏览器访问:http://127.0.0.1:8000/home/index 4.一些错误处理 lavarel框架要对应php的版本,否则就有一系列的错误~ composer无法安装依赖包...开启路由服务 注意: 路由访问控制器,应该打开app/Provides/RouteServiceProvider.php 中的路由服务 protected $namespace = 'App\\Http...9.laravel进行增删改查 member表 CREATE TABLE `member` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar

22420

CVE-2021-39165: 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅

测试的过程就不说了,经过测试,我获取了下面的结果: 当第一个参数key可控,传入任意字符串都会报错,具体的错误为“unknown column”,但类似反引号、双引号这样的定界符将会被转义,所以无法逃逸出...那么,再回看where函数的参数列表: public function where($column, $operator = null, $value = null, $boolean = 'and')...当时的ThinkPHP注入是我在乌云乃至安全圈站稳脚跟的一批漏洞,它开创了使用数组进行框架ORM注入的先河,其影响和其后续类似的漏洞也一直持续到今天。...遗憾的是,Laravel的这个问题是出现在where()的第一个参数,官方并不认为这是框架的问题。 0x04 SQL注入利用 回到Cachet。...rcrowe/twigbridge用于在Laravel和Twig之间建立一个桥梁,让Laravel框架可以直接使用twig模板引擎。

67020

laravel 解决Eloquent ORM的save方法无法插入数据的问题

学习laravel中: 今天在测试使用Eloquent ORM将数据使用 save()方法插入到mysql中出现错误,如图所示: ?...在网上查阅资料后找到了原因: 使用save方法新增数据: laravel会默认维护 created_at , updated_at 两个字段,这两个字段都是存储时间戳,整型11位的,因此使用时需要在数据库添加这两个字段...如果不需要这个功能,只需要在模型里加一个属性:public $timestamps=false; 以及一个方法,可以将当前时间戳存到数据库 protected function getDateFormat...修改后错误消失,正常输出: 控制器中函数代码如下: //使用表模型新增数据 public function orm2(){ $stu = new Student(); //表的模型实例化 $stu...解决Eloquent ORM的save方法无法插入数据的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.7K31
领券