Answers
简单,高效,优雅
基本特性
php
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 的对象组
高级特性
分页
后端代码:
php
return View::make('users')->withUsers(User::paginate(20));
前端代码 users.blade.php:
php
<ul> @foreach ($users as $user) <li> id:{{ $user->id }} name:{{ $user->name }} </li> @endforeach </ul> {{ $users->links() }}
Laravel 会自动生成分页指示器及链接,自动维护。分页功能已经彻底完成。
模型间关系
以一对多关系举例,获得 id = 10 的用户写过的所有文章:
php
class 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(三)——模型间关系(关联)
Sonne
answered 10 years, 4 months ago