Laravel: 未找到列

Laravel: Column not found

我正在尝试在 Laravel 中设置以下 SQL。

$projects = DB::table(DB::raw('places, areas, areas_places'))
    ->select('projects.*')->distinct()
    ->leftJoin('tags_places as r', 'r.place_id', '=', 'places.place_id')
    ->leftjoin('tags as t', 't.id', '=', 'r.tag_id')
    ->join('areas_places as e', 'e.place_id', '=', 'places.place_id')
    ->join('areas as a', 'a.area_id', '=', 'e.area_id')

但是,我不断收到以下错误。

Column not found: 1054 Unknown column 'places.place_id' in 'on clause'

该列存在于数据库中。我还检查了该列是否拼写正确——是的。那么我可能会错过什么?我正在使用 Laravel Mix 版本 4.0.7

我明白问题出在哪里了。我只是不需要 DB::raw 声明。这按预期工作没有问题:

$projects = DB::table('projects')
    ->select('projects.*')->distinct()
    ->leftJoin('tags_places as r', 'r.place_id', '=', 'places.place_id')
    ->leftjoin('tags as t', 't.id', '=', 'r.tag_id')
    ->join('areas_places as e', 'e.place_id', '=', 'places.place_id')
    ->join('areas as a', 'a.area_id', '=', 'e.area_id')

IGP 与 toSql() 核对的建议对解决这个问题很有帮助。