【发布时间】:2021-10-16 14:19:43
【问题描述】:
我有这两张桌子:keyword 和 keyword_translated
keyword
id
name
keyword_translated
id
translation
keyword_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, // if didn't exist relation between `keyword` and `keyword_translated`
keyword_translated_translation => null // if didn't exist relation between `keyword` and `keyword_translated`
],
]
我试过这样:
$keywords = DB::table('keywords')
->join('keywords_translated', 'keywords.id', '=', 'keywords_translated.keyword_id')
->select('keywords.*', 'keywords_translated.*')
->get();
但我有空数据。我可以尝试什么来解决这个问题?
【问题讨论】:
-
看起来
DB::table('keywords')上有一个类型。keywords->keyword。另外,听起来您想使用leftJoin而不是join。 -
请尽量不要为你的英语道歉——你已经在你的问题中添加了 40 次,这无助于让问题更清晰。同样,无需添加“谢谢”(或可憎的“thx”),原因大致相同 - 社区更喜欢简洁和技术性的文字。
-
请注意,我们更喜欢这里的技术写作风格。我们轻轻地劝阻问候,希望你能帮助,谢谢,提前感谢,感谢信,问候,亲切的问候,签名,请你能帮助,聊天材料和缩写 txtspk,恳求,你多久了被卡住、投票建议、元评论等。只需解释您的问题,并展示您尝试过的内容、预期的内容以及实际发生的情况。
标签: php mysql laravel laravel-5 eloquent