Laravel 无法在使用 belongsToMangy 连接的 table 上使用 where

Laravel cannot use where on a table connected using belongsToMangy

我有以下模型文件,它与 portal_users table.

有 belongsToMany 关系
class Role extends Model
{
    use HasFactory;
    protected $table = 'portal_roles';
    
    protected $hidden = array('created_at', 'updated_at','deleted_at');
    
    public function users()
    {
    return $this->belongsToMany(User::class, 'portal_user_roles');
    }
}

我正在尝试使用以下查询查找适合特定角色的所有用户的详细信息

$recordobj = Role::find(15)->users->where('firstname', 'like', '%' . $searchstring . '%')->get()->keyBy('id');

即使有些用户的角色 ID 为 15,它仍返回空结果集。谁能告诉我这里的问题是什么?

users改为users():

$recordobj = Role::find(15)->users()->where('firstname', 'like', '%' . $searchstring . '%')->get()->keyBy('id');