数组属性

时间:2017-11-20 20:42:52

标签: laravel filter scope model eloquent

我想使用查询范围过滤评估,但在我的模型中,我有一个可填写的数组,而且我想要过滤

我的模型中有一个属性是一个目标(数组),其中为每个评估保存分配给该评估的角色。

protected $fillable = [
    'id',
    'title',
    'description',
    'editable_before',
    'available_start',
    'available_end',
    'client_id',
    'meta',
];

protected $casts = [
    'meta' => 'array',
];

这是一个测试向您展示的评估

"id": 90,
"title": "inquiry Irvin Giovanni",
"description": "description encuesta irvin",
"instructions": null,
"editable_before": null,
"available_start": "2017-11-13 00:00:00",
"available_end": "2017-11-13 00:00:00",
"client_id": 9,
"meta": {
  "userTypes": [
      {
        "role": "COACH",
        "level": "KIN"
      },
      {
        "role": "ADMIN",
        "level": "SEC"
      },
      {
        "role": "PROF",
        "level": "SEC"
      }
    ]
}

我想根据查询范围接收的角色类型来过滤评估

主意:

public function scopeRole($query, $role)
{
    return $query->where('meta.userTypes', '=', $role);
}

的想法是,在查询范围函数的参数中可以传递" ADMIN"," PROF"," COACH"并且我返回具有特定参数的评估

0 个答案:

没有答案