Laravel的Eloquent有什么特点

php中文网
发布: 2016-06-06 20:35:58
原创
1365人浏览过

看了官方文档,感觉eloquent这种orm基本上所有框架都有做啊,链式调用什么的根本就不是特点啊,其它框架都封装了各种数据库操作。为什么说eloquent是laravel非常强大的地方,它有什么特点吗

回复内容:

看了官方文档,感觉eloquent这种orm基本上所有框架都有做啊,链式调用什么的根本就不是特点啊,其它框架都封装了各种数据库操作。为什么说eloquent是laravel非常强大的地方,它有什么特点吗

简单,高效,优雅

基本特性

<code>php</code><code>User::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', '<=', 20)->orderBy('updated_at', 'desc')->get(); // 得到 Article id 在 10~20 的对象组
</code>
登录后复制

高级特性

分页

后端代码:

<code>php</code><code>return View::make('users')->withUsers(User::paginate(20));
</code>
登录后复制

前端代码 users.blade.php

<code>php</code><code><br><br><ul>
@foreach ($users as $user)
<li>
id:{{ $user->id }}
name:{{ $user->name }}
</li>
@endforeach
</ul>



{{ $users->links() }}
</code>
登录后复制

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

模型间关系

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

微信二级防封域名
微信二级防封域名

防封域名方法千千种,我们只做最简单且有用的这一种。微信域名防封是指通过技术手段来实现预付措施,一切说自己完全可以防封的那都是不可能的,一切说什么免死域名不会死的那也是吹牛逼的。我们正在做的是让我们的推广域名寿命更长一点,成本更低一点,效果更好一点。本源码采用 ASP+ACCESS 搭建,由于要用到二级域名,所以需要使用独享云虚机或者云服务器,不支持虚拟主机使用,不支持本地测试。目前这是免费测试版,

微信二级防封域名 0
查看详情 微信二级防封域名
<code>php</code><code>class User extends Eloquent {
  protected $table = 'users';

  public function hasManyArticles()
  {
    return $this->hasMany('Article', 'user_id', 'id');
  }
}
</code>
登录后复制

取得:

<code>php</code><code>$userWithArticles = User::find(10)->hasManyArticles()->get();
</code>
登录后复制

结果:$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.模型观察者
使用了观察者模式,监听模型的操作。

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号