首页 >

Laravel的Eloquent有什么特点

后端开发|php教程Laravel的Eloquent有什么特点
php,laravel,eloquent
后端开发-php教程
看了官方文档,感觉eloquent这种ORM基本上所有框架都有做啊,链式调用什么的根本就不是特点啊,其它框架都封装了各种数据库操作。为什么说eloquent是laravel非常强大的地方,它有什么特点吗
串口通信软件 源码,Ubuntu发送can命令,tomcat端口号的形成,excel爬虫软件,php域名可以做吗,seo渠道导入lzw
手机网站 登陆源码下载,ubuntu中 是哪,项目不让加入到tomcat,爬虫爬取taptap,php100个实用函数,辽宁seo服务lzw
回复内容:
怎么看图片的源码,vscode搭建odoo,ubuntu怎么磁盘怎么分区好,tomcat 中文图片,基于sqlite登录注册,优化速度插件.,微服务的前端框架,网页评论爬虫代码,php网站测试,seo技巧100种seo博客,网站在线对话框代码,360拖拽打开网页,网站图片模板,jsp停车场管理系统代码,人人商城小程序商品lzw
看了官方文档,感觉eloquent这种ORM基本上所有框架都有做啊,链式调用什么的根本就不是特点啊,其它框架都封装了各种数据库操作。为什么说eloquent是laravel非常强大的地方,它有什么特点吗

基本特性

phpUser::first(); // 得到第一个 User 对象User::find(10); // 得到 id = 10 的 User 对象User::where('name', 'john')->first(); // 得到第一个 name = john 的 User 对象User::where('name', 'john')->get(); // 得到 name = john 的 User 对象组User::where('name', 'john')->get()->toArray(); // 得到 name = john 的 User 对象数组Article::where('id', '>=', 10)->where('id', 'orderBy('updated_at', 'desc')->get(); // 得到 Article id 在 10~20 的对象组

高级特性

分页

后端代码:

phpreturn View::make('users')->withUsers(User::paginate(20));

前端代码 users.blade.php:

php
@foreach ($users as $user)id:{{ $user->id }}name:{{ $user->name }}@endforeach{{ $users->links() }}

Laravel 会自动生成分页指示器及链接,自动维护。分页功能已经彻底完成。

模型间关系

以一对多关系举例,获得 id = 10 的用户写过的所有文章:

phpclass User extends Eloquent {  protected $table = 'users';  public function hasManyArticles()  {    return $this->hasMany('Article', 'user_id', 'id');  }}

取得:

php$userWithArticles = User::find(10)->hasManyArticles()->get();

结果:$userWithArticles 是一个标准的 User 对象,外加 $userWithArticles->hasManyArticles 的值为该用户写的所有文章的对象组。

关于更多模型间关系可以参考:深入理解 Laravel Eloquent(三)——模型间关系(关联)

比较“现代化”的这些php框架,文案都是针对原来不用框架/不用ORM的程序员写的,相对于直接拼SQL,Eloquent当然在功能上很强大,但相对与同属ActiveRecord的Propel和Mapper/Proxy模式的Doctrine,没有质的差别。

增删改查就不说了,说几个其他框架可能没有的
1.relation时的预载入
用来减少了ORM的N + 1 查询问题

2.缓存
反复执行User::find(1),sql执行一次。

3.模型观察者
使用了观察者模式,监听模型的操作。


Laravel的Eloquent有什么特点
  • 学习Laravel5的Eloquent 关系
  • 学习Laravel5的Eloquent 关系 | 学习Laravel5的Eloquent 关系 ...

    Laravel的Eloquent有什么特点
  • Laravel 5框架学习之Eloquent 关系,laraveleloquent
  • Laravel 5框架学习之Eloquent 关系,laraveleloquent | Laravel 5框架学习之Eloquent 关系,laraveleloquent ...

    Laravel的Eloquent有什么特点
  • 详解PHP的Laravel框架中Eloquent对象关系映射使用,laraveleloquent
  • 详解PHP的Laravel框架中Eloquent对象关系映射使用,laraveleloquent | 详解PHP的Laravel框架中Eloquent对象关系映射使用,laraveleloquent ...