при такой выборе я получаю только уникальные строки в БД с полями sender_id и recipient_id, но там ведь есть еще другие поля. Как мне их получить таким образом, чтобы они не попали под DISTINCT?
И вообще таких парных строк может быть неограниченное количество. Так вот, можно ли как то задать distinct таким образом, чтобы такие парные строки считались за одну?
SELECT `sender_id`, `recipient_id`
FROM `table`
GROUP BY (`sender_id`, `recipient_id`)
$sql = 'SELECT SUM(`rateNum`) as `sum` FROM `' . OrdersHasReviewsRating::tableName() . '` WHERE `performer_id`=:performer_id';
$ratingSummary = Yii::$app->db->createCommand($sql)
->bindValue(':performer_id', Yii::$app->user->id)
->queryScalar(); // или ->queryOne();
$query->select('title')
->from('profile_has_category')
->where('title LIKE "%' . $q . '%"')
->groupBy('title')
->orderBy('title');
$query->select('DISTINCT title')
->from('profile_has_category')
->where('title LIKE "%' . $q . '%"')
->orderBy('title');
Ideas::find()
->select(['i.id', 'i.src_small as src']) // Возможно просто одной сторокой select('i.id, i.src_small as src'). Проверить под рукой правильность нет.
->from(['i' => Ideas::tableName()])
->join('JOIN', ['f' => IdeasFilters::tableName()], 'f.id=i.id') // USING в yii2 нету поэтому так
->where(['f.filter' => $array]) // $array чистый массив в 1 колонку с числовыми индексами 0,1,2 etc. В общем обычный массив вида [23,43,52]
->groupBy('i.id')
->having(['COUNT(DISTINCT f.filter)' => count($array)])
->orderBy(['i.id' => SORT_DESC])
->all(); // или one() смотря что нужно.
public $src;
i.src_small as src
). Однако Yii не позволит создать "на лету" это свойство, и поэтому надо его прописать. '<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',
'<controller:\w+>/<action:\w+>' => 'myshop/<controller>/<action>',
'assetManager' => [
'bundles' => [
'some\namespace\SomeAsset' => [
'sourcePath' => '@web/myassets/folder', // redeclare default folder
'css' => [
'my_widget_style.css',
'other_style.css',
],
'js' => [
],
'depends' => [
],
],
],
],
public function actionPage($target = '') {
$get = News::find()->where(['link' => $target])->one();
if (null === $get) // В случае неудачного поиска метод one() возвращает null всегда
throw new NotFoundHttpException('Page not found');
return $this->render('page', ['target' => $target, 'get' => $get,]);
}
Мо́дульное программи́рование — это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определенным правилам.[1] Использование модульного программирования позволяет упростить тестирование программы и обнаружение ошибок. Аппаратно-зависимые подзадачи могут быть строго отделены от других подзадач, что улучшает мобильность создаваемых программ.
Мо́дуль — функционально законченный фрагмент программы. Во многих языках (но далеко не обязательно) оформляется в виде отдельного файла с исходным кодом или поименованной непрерывной её части. Некоторые языки предусматривают объединение модулей в пакеты.
'rules' => [
[
'actions' => ['login', 'error'], // тут список разрешенных экшенов
'allow' => true,
'roles' => ['@'],
],
[
'actions' => ['*'],
'allow' => true,
'roles' => ['admin'],
],
],