范围和关系不能一起工作 - Laravel

乌特库达尔马兹

用户模型

    class User extends Authenticatable
    {
        use HasApiTokens,HasFactory, Notifiable;
        
        protected $table = "users";
        protected $primaryKey = 'ID';
    
        public function scopeActive($query)
        {
            return $query->where('activated', 1);
        }

        public function followings()
        {
        return $this->hasMany('App\Models\Contacts','user_id','ID')->active();
        }

联系人模型

class Contacts extends Model
{
    use HasFactory;

    protected $table = "contacts";
    protected $primaryKey = 'ID';

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

当我在 Tinker 上调用User::find(1)->followings()->count() 时,我得到

BadMethodCallException with message 'Call to undefined method Illuminate\Database\Eloquent\Relations\HasMany::active()'

如何获得仅激活 = 1 的关注者?

乌特库达尔马兹

我通过向联系人模型添加自定义范围来修复它

public function scopeActiveFollowings($query)
    {
        return $query->join('users', function($join)
            {
                $join->on('users.ID', '=', 'contacts.contact_id')
                    ->where('activated', '=', 1);
            });
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么 each() 不能使用 laravel 与 pluck() 一起工作?

为什么 axios 删除/补丁不能在服务器上工作,但在本地与 Laravel 一起工作

如何让 jQuery 与 Laravel 一起工作?

Laravel 与 find 一起工作正常,但在添加 paginate 后无法正常工作

Laravel Eloquent -distingle()和count()不能一起正常工作

开玩笑与babel / laravel-mix一起工作

Kotlin:spring和kapt不能一起工作

kubeadm 和 weave 不能一起工作

Trackballcontrols和gui不能一起工作

不能使“ not”和“ eq”一起工作

承诺和setTimeout不能一起工作

isupper() 和 isdigit() 不能一起工作

while 循环和嵌套 if 不能一起工作

Spring FactoryBean和范围一起工作

nginx+mysql+laravel+redis+memcache 如何与一些docker容器一起工作?

Laravel 查询适用于 database.php strict=>false。如何使它与strict=>true一起工作?

RxJava-groupBy,toMap和flatMap不能一起工作吗?

matplotlib 中的子图和 hlines 不能一起工作

JQuery 调光器和无滚动不能一起工作

CPT 和 ACF 中继器不能一起工作

背景过滤器和 z-index 不能一起工作

Vertx和Redis:我不能让他们一起工作

为什么Jdbi3和Heroku Postgres不能一起工作?

VUE3 数据、道具和 v-if 不能一起工作?

PyCharm 2019.01和Anaconda 3不能一起工作

react-quilljs 和 reactjs-popup 不能一起工作

CLOC --diff 和 --exclude-dir 似乎不能一起工作

背景颜色和背景图像不能一起工作

关闭 ViewController 和关闭键盘不能一起工作