我正在使用laravel 5.3。有2种型号。
作业 [
id,title,location
]标记 [
id,tag_name
]。
这两个模型具有many to many
的关系。
Job belongstomany Tag
Tag belongstomany Job.
数据透视表是
job_tag [
job_id,tag_id
]。
如何获取与特定标记名称关联的作业记录。
标记:
id. | tag_name
--------|--------------------------
1 | php
--------|--------------------------
2 | html
--------|--------------------------
工作:
id | title | location
---------|------------------------|--------------------------
1 | developer | Kochi
---------|------------------------|--------------------------
2 | designer | bangalore
---------|------------------------|--------------------------
Pivot:job_tag:
job_id | tag_id
---------------- |-----------------
1 | 1
-----------------|-----------------
1 | 2
-----------------|-----------------
2 | 1
-----------------|-----------------
使用标签名称“php”,我想列出与标签名称“php”有关的所有作业。
答案 0 :(得分:1)
//$params[tags] contains the data for the search
$jobs = Job::query();
$jobs = Job::whereHas('tags', function ($query) use($params) {
$query->whereIn('tag_name', $params['tags']);
});
以上代码对我有用...... https://laravel.com/docs/5.3/eloquent-relationships#querying-relationship-existence
答案 1 :(得分:0)