我在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"项目。
我的关系模型运作良好。
感谢您的帮助!这是我第一次尝试做这样的事情。
答案 0 :(得分:3)
使用with()
方法:
Project::where('tags', 'like' , '%'.$termn.'%')
->with(['products' => function($q) use($categoryId) {
$q->where('category_id', $categoryId);
}])
->paginate(20);