2014-10-10 6 views
0

Я пытаюсь создать самостоятельное соединение в laravel с использованием псевдонимов, но, похоже, он не хочет его подбирать, потому что я получаю сообщение об ошибке, что столбцы p1.sub_menu и p2.5 не найдены , Вот мой присоединиться:Столбец не найден в laravel

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

Очевидно, что вы не имеете 'pages.5' поле, не так ли? Это 'p2.id'. –

ответ

0

Ошибка из-за вашего заявления LeftJoin

Params в заявлении 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(); 
+0

В нем указано, что p2.id - это неизвестный столбец, но есть столбец id – Chibi

+0

. Вы можете использовать '' Для просмотра запроса mySQL для отладки. Я не знаю вашего db, так что мой запрос может быть неправильным –

+0

Это может быть глупый вопрос, но var_dump (DB :: getQuerylog() будет после утверждения объединения – Chibi

Смежные вопросы