看了官方文档,感觉eloquent这种ORM基本上所有框架都有做啊,链式调用什么的根本就不是特点啊,其它框架都封装了各种数据库操作。为什么说eloquent是laravel非常强大的地方,它有什么特点吗
看了官方文档,感觉eloquent这种ORM基本上所有框架都有做啊,链式调用什么的根本就不是特点啊,其它框架都封装了各种数据库操作。为什么说eloquent是laravel非常强大的地方,它有什么特点吗
比较“现代化”的这些php框架,文案都是针对原来不用框架/不用ORM的程序员写的,相对于直接拼SQL,Eloquent当然在功能上很强大,但相对与同属ActiveRecord的Propel和Mapper/Proxy模式的Doctrine,没有质的差别。
增删改查就不说了,说几个其他框架可能没有的
1.relation时的预载入
用来减少了ORM的N + 1 查询问题
2.缓存
反复执行User::find(1),sql执行一次。
3.模型观察者
使用了观察者模式,监听模型的操作。
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答568 阅读✓ 已解决
784 阅读
基本特性
高级特性
分页
后端代码:
前端代码 users.blade.php:
Laravel 会自动生成分页指示器及链接,自动维护。分页功能已经彻底完成。
模型间关系
以一对多关系举例,获得 id = 10 的用户写过的所有文章:
取得:
结果:$userWithArticles 是一个标准的 User 对象,外加 $userWithArticles->hasManyArticles 的值为该用户写的所有文章的对象组。
关于更多模型间关系可以参考:深入理解 Laravel Eloquent(三)——模型间关系(关联)