Выбор только записей из одной таблицы, которые существуют в другой таблице - PullRequest
0 голосов
/ 17 ноября 2018

Я использую октябрьскую CMS для создания веб-сайта для ресторана и работаю над страницей меню.

У меня есть две таблицы «Разделы» и «Пункты меню».Разделы могут иметь много элементов меню, но элементы меню могут иметь только один раздел.

Я хочу создать область действия, чтобы при наличии раздела, не содержащего элементы меню, он не возвращался,Таким образом, у меня нет пустых заголовков на странице, когда они отображаются.

У меня уже настроены мои отношения.

МОДЕЛЬ СЕКЦИЙ

public $hasMany = [

    'menuitems' => ['elnorteno2\restaurantmenu\Models\MenuItem', 'key' => 'section_id']

];

ПУНКТЫ МЕНЮ МОДЕЛЬ

public $belongsTo = [

    'section' => 'elnorteno2\restaurantmenu\Models\Section'

];

Я просто не знаю, какую модель разделов поставить для определения области действия.

public function scopeSections($query)
{
     ??????
} 

Я посмотрелвезде и не могу гуглить, как надо.

Буду признателен за помощь.Спасибо.

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Вы можете написать примерно так

0 голосов
/ 17 ноября 2018

Вы хотите сказать, что вам нужны только такие данные, которые существуют в 2 таблицах с одинаковым ключом или идентификатором?

, тогда да, вы можете сделать это с помощью запроса соединения.Позвольте мне привести пример, который я использовал раньше.

ПРИМЕР

table_A имеет идентификатор имя пароль электронной почты

table_B имеет идентификатор user_id order_no всего

query

SELECT table_A.id, table_A.name FROM table_A INNER JOIN table_B ON table_A.id = table_B.user_id;

Счастливое кодирование ...

...