CakePHP 3.6: запрос на присоединение

У меня есть следующие таблицы:

customers[id, name, surname, phone, text, balance, created]

service_types[id, title, price, length, is_subscription, created, payment]

customer_service_types[id, customer_id, service_type_id, price, created]

И отношения:

ServiceTypesTable.php:

$this->hasMany('CustomerServiceTypes', [
        'foreignKey' => 'service_type_id'
    ]);

CustomerServiceTypesTable.php:

$this->belongsTo('Customers', [
        'foreignKey' => 'customer_id',
        'joinType' => 'INNER'
    ]);
    $this->belongsTo('ServiceTypes', [
        'foreignKey' => 'service_type_id',
        'joinType' => 'INNER'
    ]);

Это мой код прямо сейчас:

    $customerServiceTypes = TableRegistry::get('CustomerServiceTypes');
    $customers_count = $customerServiceTypes->find()
        ->select(['customer_id'])
        ->distinct()
        ->where(['service_type_id <>' => 3])->count(); 

Я хочу изменить его, чтобы проверить в предложении where, если service_types.payment = 0 из соединения customer_service_types и service_types на

customer_service_types.service_type_id = service_types.id

Действительно ли payment - это столбец в service_types? Или в customer_service_types?

Greg Schmidt 09.10.2018 17:06

@GregSchmidt это столбец service_types

netdev 10.10.2018 08:11

Тогда вы сможете включить ServiceTypes в свой запрос и добавить 'ServiceTypes.payment' => 0 в предложение where.

Greg Schmidt 10.10.2018 16:36
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
61
0

Другие вопросы по теме