MySQL一对一的关系

时间:2017-09-21 08:21:06

标签: mysql sql

我要解释一个小垃圾箱,我有两张桌子:

English_article:

id
Title
Author
Content
...

我也有:

Netherland_article:

id
Title
Author
Content
English_id ( Could be null)
...

English_id是英文文章的外键。我知道这不是最好的方法,但它是一个旧项目,我无法将其迁移到正确的结构。

所以,从这个结构我想得到不属于这种关系的最新英文文章。我的意思是,流程是......有人用英文写文章然后我们想要导入不属于Netherland表关系的文章。如何从英语表中获取尚未添加的最新文章。

在一个例子中。

英文表格

ID  TITLE      CONTENT    
1   article1   blablablabla 
2   article2   blablablabla 
3   article3   blablablabla 
4   article4   blablablabla 
5   article5   blablablabla 
6   article6   blablablabla 
7   article7   blablablabla 

荷兰表:

ID  TITLE    CONTENT        ENGLISH_ID
1   article1 blablablabla   5
2   article1 blablablabla   7

我的目标是尝试通过一个查询获取文章1,2,3,4和6。

2 个答案:

答案 0 :(得分:0)

为什么下面没有帮助。

select * from english_articles
where id not in (select english_id from netherlands_article)

它会给出没有映射的文章

答案 1 :(得分:0)

OwnerCompany::with('owner.users')->whereHas('owner.users.roles', function ($query) {
    $query->where('name', 'admin');
})->get();