【发布时间】:2021-11-19 00:35:24
【问题描述】:
我有一个portal_user 表和portal_roles 表。我有一个数据透视表 pivot_user_roles,它将用户与其角色联系起来。
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');
}
}
class UserRole extends Model
{
use HasFactory;
protected $table = 'portal_user_roles';
protected $fillable = ['user_id','role_id'];
}
我正在使用以下代码来搜索属于特定角色的用户
$resultset = '';
$searchquery = $data['query'];
$rolesobj = Role::find($type_id);
if (self::checksearchtype($searchquery) == NAME_ONEPART) {
$resultset = $rolesobj->users->where('firstname', 'like', '%' . $searchquery . '%');
以上
在哪里
语句没有产生任何结果。我期望上面的语句将在 users 表中搜索,根据选择的角色和传递的名称(或名称的一部分)来查找用户。
【问题讨论】: