lumite-studios/model-scopes

一个特性,用于添加特定的模型作用域。

v1.4 2022-07-12 08:43 UTC

This package is auto-updated.

Last update: 2024-09-12 15:06:03 UTC


README

一个特性,用于添加各种模型作用域。

安装

composer require lumite-studios/model-scopes

使用

所有作用域

use LumiteStudios\ModelScopes\ModelScopes;

WhereIsModelScope

use LumiteStudios\ModelScopes\WhereIsModelScope;

class User extends Model {
    use WhereIsModelScope;
}
$user = User::first();
$user = User::whereIsModel($user)->first();

WhereHasModelScope

use LumiteStudios\ModelScopes\WhereHasModelScope;

class Post extends Model {
    use WhereHasModelScope;

    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

class User extends Model {
    use WhereHasModelScope;

    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}
$user = User::first();
$posts = Post::whereHasModel('user', $user)->get();

$post = Post::first();
$user = User::whereHasModel('posts', $post)->first();