首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

20 个 Laravel Eloquent 必备的实用技巧

Eloquent ORM 看起来是一个简单的机制,但是在底层,有很多半隐藏的函数鲜为人知的方式来实现更多功能。在这篇文章中,我将演示几个小技巧。 1....先执行 X 方法,X 方法执行不成功则执行 Y 方法 Eloquent 有相当一部分函数可以把两个方法结合在一起使用, 例如 『 请先执行 X 方法, X 方法执行不成功则执行 Y 方法 』。...模型特性:时间、追加等 Eloquent模型有些参数,使用类的属性形式。...Eloquent::when() -- 不再使用 if-else 很多人都喜欢使用"if-else"来写查询条件,像这样: if (request('filter_by') == 'likes') {...把括号转换成 Eloquent 查询 如果你有个 and or 混合的 SQL 查询,像这样子的: ...

1.1K40
您找到你想要的搜索结果了吗?
是的
没有找到

orm 系列 之 Eloquent使用1

Eloquent ORM 本文会是一个Eloquent使用教程,在此之前,我们先讲述下怎么搭建环境,完整的系列请查看orm 基础环境的搭建 记录下怎么用docker搭建laravel的环境 新建项目composer...通过Eloquent的Scheme Builder构建数据库 通过使用Schema Builder我们可以在设计数据库的时候,不写一行sql,通过Schema Builder,我们可以 creating...系统结合,我们可以对数据库进行版本控制!...总结 本文主要是介绍了使用docker来构建laravel的开发环境,同时,我们也介绍了怎么说会用phpstorm来开发laravel,搭建好环境后,主要介绍了Eloquent的Schema Builder...migrations功能,通过使用Schema Builder,使得我们可以不用写一句sql就可以完成数据库设计,而migrations则使得我们在团队协作中,更好的对数据库进行版本的控制。

1.7K20

orm 系列 之 Eloquent使用2

上一篇介绍了Eloquent的migrationsScheme Builder功能,本文介绍Eloquent最重要的Model。...artisan make:model Book 默认在app目录下生成一个Book.php文件,打开后看到: class Book extends Model { // } 就这么简单的几行,我们就可以使用了...查询聚合 Eloquent提供了丰富的查询方式,通过前面的__call方法分析,我们知道,这些最终调用的都是Eloquent/Builder方法,where方法也不例外,where其最简单的形式如下:...的attribute对应,Eloquent的方法是直接将属性存储为一个$attributes数组,然后由用户自己根据字段名进行获取,但是,其实这也会有个问题,就是一旦字段名更改了,我们必须要去更改所有直接使用字段名的地方...以上就是Eloquent的Model操作的基本介绍,下节将会介绍Eloquent的关系。

53741

@Async可以@Transactional结合使用吗?

@Async可以@Transactional结合使用吗?...前言 结论 原理 小结 ---- 前言 在编写Spring在多线程环境下如何确保事务一致性时,我突然联想到@Async注解,心里就在盘算着@Async注解能否@Transactional注解一起使用呢...关于异步@Async + 事务@Transactional的结合使用问题分析【享学Spring MVC】文章后,才想着对该问题作出一个彻底的研究,也是帮助其他小伙伴解开心头之惑。...关于异步@Async + 事务@Transactional的结合使用问题分析【享学Spring MVC】 我这边把上文中的结论整理一下,如下: @Async注解的方法上,再标注@Transactional...---- 小结 到此,我相信各位也基本清楚了@Async@Transactional的关系了,本文比较简短,如果各位还有什么问题,可以在评论区提出。

2.8K50

【Laravel系列4.4】模型Eloquent ORM的使用(二)

模型Eloquent ORM的使用(二) 对于模型的探索我们还将继续。上篇文章中,只是简单地通过模型操作了一下数据库,并且学习了一下关联操作的知识。...而且,关于使用的内容,网上也有很多文章以及视频教程了,我也就不走别人的老路咯。...; dump($mTest->toArray()); dump($mTest->attributesToArray()); }); 这个其实没有什么多说的,因为 toArray() ...toArray() 方法是一个递归方法,它会将所有的属性关联(包括关联的关联)都转化成数组。而 attributesToArray() 只会将当前模型的属性转化为数组。...但是,这里划重点了,Eloquent\Builder 中有些方法是没有的,比如说 insert()、insertGetId() ,在模型中,使用 save() 就可以代替这两个方法的操作。

2.8K20

3分钟短文 | Laravel复杂SQL超多WHERE子句,本地作用域你没用过

Laravel提供的 eloquent orm 使用面向对象的方式封装了PDO数据库操作,使用起来非常方便,对于复杂的SQL操作也游刃有余。...然而对于laravel而言,这些全过程都可以拼装,你只需要关注筛选操作,剩下的组装sql的过程,laravel都帮你做好了。...然后把这些筛选条件重复利用: $results = User::where($matchThese)->get(); 或者是这样查询: $results = User::where($matchThese)->orWhere...就拿这个 model 的查询说起,你可以 "查询作用域”这么个时髦的功能,有效分散重用查询条件。 拿“全局作用域”来说,它可以给模型的查询都添加上约束。...就是在对应的 Eloquent 模型方法前添加 scope 前缀,在模型中构造如下的作用域方法: ?

2.7K10

JavaScript Python 代码也能结合使用

PythonMonkey 是一个 Python 库,它使用 Mozilla 的 SpiderMonkey JavaScript 引擎构建,可以实现 Python JavaScript 之间的互操作。...此外,使用 WebAssembly API SpiderMonkey 引擎在 Python 中执行 WebAssembly 模块也变得非常简单。...我觉得一个比较实用的应用场景就是我们可以轻松地将一个 JavaScript 库移植到 Python,而不需要承受使用 Python 重写库维护迁移的巨大成本。...现代异步 JS 编程中广泛使用的 JavaScript Promises Async/Await 在 JS2Py 中也是缺失的,但在 PythonMonkey 中是可用的。...使用 Python 编写,JS2Py 面临 SpiderMonkey 中不存在的性能限制;在 SunSpider JavaScript 基准测试报告显示:使用 PythonMonkey 比 JS2Py

47320
领券