2017-04-19 28 views
0

我有很少的表(a,b,c和d)。我试图加入所有的表格来获取整个数据。当我尝试选择全部并加入所有表格时。我的“id”和“foreign_key”返回null。查询的对象在SELECT和JOIN后返回null

MySQL查询

SELECT * FROM TABLEA 
LEFT JOIN TABLEB ON TABLEB.menu_id = TABLEA.id 
LEFT JOIN TABLEC ON TABLEC.menu_id = TABLEA.id 
LEFT JOIN TABLED ON TABLED.id = TABLEA.user_id 

结果

{ 
    id: null, 
    user_id: null, 
    others: other_data 
    ... 
} 

预期结果

{ 
    id: XXX, 
    user_id: YYY, 
    others: other_data 
    ... 
} 

回答

0

这是happing因为你AR不要提及要返回的列。我认为这将解决您的问题,因为 -

SELECT TABLEA.col1, TABLEB.col2 FROM TABLEA 
LEFT JOIN TABLEB ON TABLEB.menu_id = TABLEA.id 
LEFT JOIN TABLEC ON TABLEC.menu_id = TABLEA.id 
LEFT JOIN TABLED ON TABLED.id = TABLEA.user_id