将两个表连接在一起,并返回匹配的所有数据(使用MySQL的PHP/Laravel5.2)

将两个表连接在一起,并返回匹配的所有数据(使用MySQL的PHP/Laravel5.2),php,mysql,join,multidimensional-array,laravel-5.2,Php,Mysql,Join,Multidimensional Array,Laravel 5.2,我有一个名为$category的变量,由用户选择。在提交时,我需要在一个表(profiles)中查找$category与之匹配的位置,并提取所有这些配置文件,然后查找likes表,并返回返回的配置文件的所有匹配记录 我的数据库看起来像: 表:概况 ID | username | category ------------------------- 1 | x | band 2 | y | airline 3 | z |

我有一个名为$category的变量,由用户选择。在提交时,我需要在一个表(profiles)中查找$category与之匹配的位置,并提取所有这些配置文件,然后查找likes表,并返回返回的配置文件的所有匹配记录

我的数据库看起来像:

表:概况

ID |   username  | category
-------------------------
 1 |      x      | band  
 2 |      y      | airline
 3 |      z      | airline
表:喜欢

ID | account_id  | likes  | created_at
---------------------------------------
 1 |      2      | 1000   | 21/03/2016
 2 |      2      | 2000   | 22/03/2016
 3 |      1      | 3000   | 22/03/2016
我的代码如下:

$category = "band";

$profiles = DB::table('profiles')
            ->join('likes', 'profiles.id', '=', 'likes.account_id')
            ->where('category', '=', $category)
            ->select('profiles.*', 'likes.likes', 'likes.created_at')
            ->get();
likes表中的account_id将与profiles表中的id相同。此外,每个配置文件可能有多个like记录。
这个查询似乎不起作用,它什么也不返回。我使用的是laravel 5.2。

可能是因为相同的表和列名称
likes。likes
更改了表的名称,因此表和列不再相同。仍然返回相同的空数组[]。可能是由于相同的表和相同的列名
likes。likes
更改了表的名称,因此表和列不再相同。仍然返回相同的空数组[]。尝试此操作后,很遗憾,仍然返回。空数组[]。尝试此操作后,很遗憾,仍无法返回。空数组[]。
 $profiles = DB::table('profiles')
        ->leftJoin('likes', 'profiles.id', '=', 'likes.account_id')
        ->where('profiles.category', '=', $category)
        ->select('profiles.*', 'likes.likes', 'likes.created_at')
        ->get();