Laravel 5.4 - 查询与搜索termn的关系

时间:2017-04-11 17:14:34

标签: php mysql laravel laravel-5.4

我在laravel 5.4工作,我有这个表:

PROJECT | id |标签|标题|

产品 | id | project_id | category_id |

CATEGORY | id |名字|

project的标签是一个用逗号分隔的字符串:

  

TAG1,TAG2,TAG3 ...

我需要的第一步是按termn过滤项目:

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

它运作良好,但我希望获得所有产品的特定" category_id"项目。

我的关系模型运作良好。

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

1 个答案:

答案 0 :(得分:3)

使用with()方法:

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