在laravel中找不到列

时间:2014-10-10 09:53:36

标签: sql laravel laravel-4 self-join

我尝试使用别名在laravel中创建自联接,但它似乎并不想拿起它,因为我收到错误,指出列p1.sub_menu和{找不到{1}}。这是我的加入:

p2.5

1 个答案:

答案 0 :(得分:0)

由于你的leftJoin声明错误

leftJoin语句中的参数是您要使用关系的列。

$menu = DB::table('pages AS p1')->leftJoin('pages AS p2', 'p1.sub_menu', '=', **'p2.'.$id.''**)->get();

我的解决方案是:

$menu = DB::table('pages AS p1')->leftJoin('pages AS p2', 'p1.sub_menu', '=', 'p2.sub_menu')->where("p2.menu_id", "=", $menu_id)->get();