LaravelDatabase

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地址和当前页数。