2017-04-11 75 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

沒錯!這行得通!非常感謝你! –