Eloquent Model
定义关联:一个Model中定义一个关联函数,利用这个关联函数去操作另一个Model。
父模型:模型关系中主动的一方
子模型:模型关系中被动的一方。
正向定义中被关联的是子模型,反向关联中被关联的是父模型。
关联关系
一对一:
class User extends Model
{
/**
* 获得与用户关联的电话记录。
*/
public function phone()
{
$this->hasOne('App\Phone', 'user_id', 'id');
}
}
一对多:
belongsTo:一对一,一对多,反向关联
如果想从文章反向查找作者用户,可以定义反向关联。
public function user()
{
return $this->belongsTo('App\User', 'foreign_key', 'other_key');
}
belongsMany 多对多
`php
class User extends Model
{
/**
* 获得此用户的角色。
*/
public function roles()
{
return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
}
}
Laravel 分页
laravel的分页用起来非常简单,只需要对query调用paginate函数,再把返回的对象扔给前端blade文件,在blade文件调用render函数或者link函数,就可以获得上一页、下一页的分页特效。
可以直接把分页服务看作一个前端资源,render函数或者link函数的结果都是分页前端代码。
paginationserviceprovider是负责注册和启动分页服务的服务提供者。
获取分页前端代码、设置url地址和当前页数。