所以我有Laravel 5.2,在我的SQL数据库中我有几个表:
字段为books
,title
和author
的 year
,
字段为journals
,title
和year
的字段为 price
newspapers
包含字段title
,town
,year
我需要获得所有三个表中所有标题的列表,其中年份是1994年。我已尝试执行以下操作
$titles = DB::table('books')->where('books.year', 1994)->leftjoin('journals as journals', 'books.year', '=', 'journals.year')->leftjoin('newspapers as newspapers', 'books.year', '=', 'newspapers.year')->select('books.title', 'journals.title', 'newspapers.title')->get();
但是通过这个查询,我得到了null
个条目,并且只填写了报纸。我做错了什么?
答案 0 :(得分:3)
在这种情况下(如果表格不相关),你应该使用union,no join。
$books = DB::table('books')->select('title')->where('year', 1994);
$journals = DB::table('journals')->select('title')->where('year', 1994);
$titles = DB::table('newspapers')->select('title')->where('year', 1994)->union($books)->union($journals)->get();
答案 1 :(得分:0)
您需要指定年份列:
type="url"