【发布时间】:2017-05-20 08:34:53
【问题描述】:
以下是关系:
一个用户有很多技能,有一个连接表user_skills。我需要搜索此表以返回具有特定技能的配置文件。这是正在构建的更大查询的一部分,这就是为什么这里没有 ->get() 的原因。
用户模型
/**
* A user may have many skills
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function skills()
{
return $this->hasMany('App\Core\Platform\Models\UserSkill');
}
下面是没有做我需要的查询。我需要它根据搜索中传递的 ID($this->misc['search_skills'] 值)返回具有特定技能的用户。
// Skills
$this->user = $this->user->whereHas('skills', function ($q)
{
foreach ($this->misc['search_skills'] AS $skill)
{
$q->orWhere('id', $skill);
}
});
关于我做错了什么或如何以不同的方式执行此操作的任何想法?
【问题讨论】:
-
我认为你可以使用 whereIn(,'skills' []) 这将是我的攻击方法
标签: php laravel laravel-5 orm eloquent