gpt4 book ai didi

php - Laravel 多态关系有很多通过

转载 作者:可可西里 更新时间:2023-11-01 12:29:01 26 4
gpt4 key购买 nike

我有一个订阅者模型

// Subscriber Model

id
user_id
subscribable_id
subscribable_type

public function user()
{
return $this->belongsTo('App\User');
}

public function subscribable()
{
return $this->morphTo();
}

还有一个主题模型

// Topic Model

public function subscribers()
{
return $this->morphMany('App\Subscriber', 'subscribable');
}

而且我想通过Subscriber模型让所有的用户,像这样通知他们

Notification::send($topic->users, new Notification($topic));

// Topic Model


public function users()
{
return $this->hasManyThrough('App\User', 'App\Subscriber');
}

有什么想法吗?

最佳答案

// Topic Model

public function users()
{
return $this->hasManyThrough('App\User', 'App\Subscriber', 'subscribable_id')
->where(
'subscribable_type',
array_search(static::class, Relation::morphMap()) ?: static::class
);
}

多态 hasManyThrough 关系与任何其他关系相同,但在 subscribable_type 上添加了约束,可以从 Relation::morphMap( ) 数组,或者直接使用类名。

关于php - Laravel 多态关系有很多通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43285779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com