Здравствуйте, скажите пожалуйста, как настроить реляцию таким образом, что бы сопоставление реляции работало с оператором like, а не where, дело вот в чем:
CategoryModel:
public function getProducts()
{
return $this->hasMany(ProductModel::className(), ['category_id' => 'id']);
}
public function getBrands()
{
return $this->hasMany(BrandModel::className(), ['id' => 'brand_id'])->via('products');
}
Так мы получаем определенный список модели BrandModel, но, не совсем полный, в CategoryModel есть данные с полем path=3.10, так же как и в ProductModel список в котором значение path=3.10.13, и мне нужно выполнить реляцию так:
CategoryModel:
public function getProducts()
{
return $this->hasMany(ProductModel::className(), ['path' => 'path']);
}
И при этом, хочу получить не category_model.path = product_model.path, а category_model.path like product_model.path. Подскажите пожалуйста, есть решение в данном случаи? Буду очень благодарен за ваше внимание.
Запрос получается должен быть таким: SELECT * FROM TABLE category JOIN TABLE product ON product.path LIKE '%'+ category.path +'%'
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Судя по всему функция mquery только возвращает замененный SQL запрос, но не выполняет егоНеобходимо в конце функции запускать SQL запрос, например...
Я учусь, поэтому вопрос может показаться глупым )) Есть скрипт, который выводит из базы mysql данные, все работает, только есть один момент - рабочая...
Есть сайт (даже несколько сайтов, на разных cms)На хостинге они работают быстро, на ноуте - медленно