2017-04-11 120 views
3

我在快乐laravel 5.4查询工作的关系,我有这个表:Laravel 5.4 - 与搜索termn

项目 | id |标签|标题|

PRODUCT | id | project_id | category_id |

类别 | id |名称|

项目的标签是用逗号分隔的字符串:

标签1,标签2,标签3 ...

的第一步,我需要的是过滤器项目由termn:

$termn = 'examples'; 
$projects = Project::where('tags', 'LIKE' , '%'.$termn.'%')->paginate(20); 

它工作得很好,但我想用特定的“category_id”获得所有产品的项目。

我的关系模式运行良好。

谢谢你的帮助!这是我第一次尝试做这样的事情。

回答

3

使用with()方法:

Project::where('tags', 'like' , '%'.$termn.'%') 
     ->with(['products' => function($q) use($categoryId) { 
      $q->where('category_id', $categoryId); 
     }]) 
     ->paginate(20); 
+0

没错!这行得通!非常感谢你! –