2
這裏有關係:Laravel Eloquent ORM where有一個foreach循環
一個用戶有很多技能,有一個連接表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'[])這將是我的攻擊方法 –