slugs
...🙄
slugs
...🙄
Ребята, у меня выбирается строка случайным образом по id. Затем в $result я получаю значение конкретного поля в этой строке. Подскажите пожалуйста как изменить запрос/запросы чтобы также по случайно выбранному id строки получить несколько разных полей этой строки? Спасибо.
<?php if ($device_type == 'desktop') { # Подключаем модель компонента. Для запросов в БД неважно какого поэтому берем модель компонента content $model = cmsCore::getModel('content'); #Составляем запрос в БД $model->selectOnly('i.id, i.title, i.slug, i.user_id'); // укажем список полей, которых надо получить, через префикс i. $result = $model->getItemById('con_person', $random); // получить массив echo $result['title']; //выводить заголовок echo $result['user_id']; //выводить ID юзера ?>
Ребята, у меня выбирается строка случайным образом по id. Затем в $result я получаю значение конкретного поля в этой строке. Подскажите пожалуйста как изменить запрос/запросы чтобы также по случайно выбранному id строки получить несколько разных полей этой строки? Спасибо.
<?php if ($device_type == 'desktop') { # Подключаем модель компонента. Для запросов в БД неважно какого поэтому берем модель компонента content $model = cmsCore::getModel('content'); #Составляем запрос в БД $model->selectOnly('i.id, i.title, i.slug, i.user_id'); // укажем список полей, которых надо получить, через префикс i. $result = $model->getItemById('con_person', $random); // получить массив echo $result['title']; //выводить заголовок echo $result['user_id']; //выводить ID юзера ?>
Çok güzel,+ в карму))
Ребята, у меня выбирается строка случайным образом по id. Затем в $result я получаю значение конкретного поля в этой строке. Подскажите пожалуйста как изменить запрос/запросы чтобы также по случайно выбранному id строки получить несколько разных полей этой строки? Спасибо.
<?php if ($device_type == 'desktop') { # Подключаем модель компонента. Для запросов в БД неважно какого поэтому берем модель компонента content $model = cmsCore::getModel('content'); #Составляем запрос в БД $model->selectOnly('i.id, i.title, i.slug, i.user_id'); // укажем список полей, которых надо получить, через префикс i. $result = $model->getItemById('con_person', $random); // получить массив echo $result['title']; //выводить заголовок echo $result['user_id']; //выводить ID юзера ?>
Парвиз спасибо огромное, все работает, вывел нужные данные. Нубский вопрос, префикс i что означает? Если есть возможность какую нибудь ссылку мне, чтобы немного вникнуть в запросы.
Юран, правильно оказалось не префикс а алиас.
i. это короткое название таблицы, по умолчанию инстант добавляет к всем запросам алиас i.
Пример использования:
Допустим нам надо получить в одном запросе заголовок новости и заголовок поста у пользователя с ID = 1
$model->selectOnly('i.id, n.title as news_title, p.title as post_title'); //обратите внимание что заголовок новости беру с алиасом n. // а заголовок постов беру с p. // так же дописал "as news_title" что бы переименовать имя поля, так как у постов тоже называется title $model->joinLeft('con_news', 'n', 'n.user_id=i.id'); // соединяю запрос с таблицей типа контента новости // первым идет называние таблицы, второй алиас, т.е. буква n что бы в выборке можно было обратиться как n.title, потом условия т.е. user_id=ID из текущего запроса $model->joinLeft('con_posts', 'n', 'n.user_id=i.id'); //так же соединяюсь с постами $user = $model->filterEqual('i.id', 1)->get('cms_users'); // берем из таблицы users с условием id=1 echo $user['news_title']; // заголовок новости echo $user['post_title']; // заголовок новости
Не знаю понятно ли объяснил
Юран, правильно оказалось не префикс а алиас.
i. это короткое название таблицы, по умолчанию инстант добавляет к всем запросам алиас i.
Пример использования:
Допустим нам надо получить в одном запросе заголовок новости и заголовок поста у пользователя с ID = 1
$model->selectOnly('i.id, n.title as news_title, p.title as post_title'); //обратите внимание что заголовок новости беру с алиасом n. // а заголовок постов беру с p. // так же дописал "as news_title" что бы переименовать имя поля, так как у постов тоже называется title $model->joinLeft('con_news', 'n', 'n.user_id=i.id'); // соединяю запрос с таблицей типа контента новости // первым идет называние таблицы, второй алиас, т.е. буква n что бы в выборке можно было обратиться как n.title, потом условия т.е. user_id=ID из текущего запроса $model->joinLeft('con_posts', 'n', 'n.user_id=i.id'); //так же соединяюсь с постами $user = $model->filterEqual('i.id', 1)->get('cms_users'); // берем из таблицы users с условием id=1 echo $user['news_title']; // заголовок новости echo $user['post_title']; // заголовок новостиНе знаю понятно ли объяснил
Если честно — темный лес:)) Но все равно спасибо, попробую разобраться… В документации по Instantcms смотрел… там что то нету такого… я так понял там свои встроенные в cms методы и примеры запросов приводятся. Чувствую без теоретической подготовки методом тыка или гугления тут так просто не разобраться:)