2016-08-23 3 views
0

Это действительно эксклюзивная проблема MeekroDB, просто пытаясь обернуть голову вокруг Left_Join.MySQL Left Join (используя MeekroDB)

У меня есть 2 таблицы: comp_checklis т и comp_checklist_items

Я хочу, чтобы получить все строки из comp_checklist где пользователь Id совпадает и это работало отлично:

DB::query("SELECT * FROM comp_checklist WHERE user_id = %i", $user_id);

Теперь я палочка, чтобы получить тот же запрос (все строки от comp_checklist, где совпадает идентификатор пользователя) и добавить строки comp_checklist_items, где checklist_id соответствует в обеих таблицах (checklist_id является первичным ключом в comp_checklist). Я использовал ниже, но просто получить false

DB::query("SELECT * FROM comp_checklist WHERE user_id = %i LEFT JOIN comp_checklist_items on checklist_id = comp_checklist.checklist_id", $user_id);

ответ

0

РЕГИСТРИРУЙТЕСЬ должны прийти до WHERE, и все столбцы должны иметь имя таблицы или вы получите сообщение об ошибке:

DB::query("SELECT * FROM comp_checklist 
      LEFT JOIN comp_checklist_items 
      ON comp_checklist_items.checklist_id = comp_checklist.checklist_id 
      WHERE comp_checklist.user_id = %i ", $user_id); 
+0

Got Ya, который работал, но в по-другому. В основном он возвращал контрольный список A дважды, один раз для каждого элемента вместо контрольного списка A один раз с другим массивом с связанными с ним элементами (вложенными) – Packy

+0

@Packy Если вы хотите, например, получить все строки с user_id = 3, и есть две строки в comp_checklist_items для этого контрольного списка вы получите два результата. Если вы хотите получить что-то еще, отправьте некоторые образцы данных и образец набора результатов, который вы ожидаете. – Galz