我有這兩個表。keyword和keyword_translated
keyword
id
名稱
關鍵詞_翻譯的
id
翻譯
關鍵詞_id
我想得到所有的keyword,不管是否與keyword_translated有關系。在最后,我想得到類似于:
[
[
keyword_id => 1,
keyword_name => 'firstKeyword'
keyword_translated_id => 1, // If exist relation between `keyword` and `keyword_translated`.
keyword_translated_translation => 'this is translation of firstKeyword' // if exist relation between `keyword` and `keyword_translated`.
],
[
keyword_id => 2,
keyword_name => 'secondKeyword'
keyword_translated_id => null, // 如果沒有't存在`keyword`和`keyword_translated`之間的關系
keyword_translated_translation => null // 如果沒有't存在`keyword`和`keyword_translated`之間的關系
],
]
我這樣試了一下 :
$keywords = DB::table('keywords'/span>)
->加入('keywords_translated', 'keywords.id', '=', 'keywords_translated.keyword_id')
->選擇('keywords.*', 'keywords_translated.*')
->get()。
但是我有空的資料。我可以嘗試什么來解決這個問題?
uj5u.com熱心網友回復:
使用leftjoin而不是join,像這樣:
$keywords = DB::table('keywords' )
->leftjoin('keywords_translated', 'keywords. id', '=','keywords_translated.keyword_id')
->/span>select(
'keywords.id as keyword_id',
'keywords.name as keyword_name',
'keyword_translated.id as keyword_translated_id',
'keyword_translated.translation as keyword_translated_translation' 。
)
->get()。
uj5u.com熱心網友回復:
保存此圖片供以后參考。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/320619.html
標籤:

