Найден 101 результат
- 2021.09.25, 11:32
- Форум: Общие вопросы (Yii 2.x)
- Тема: Почему вынесение переменной за pjax влияет на работу DatePicker?
- Ответы: 2
- Просмотры: 1035
Почему вынесение переменной за pjax влияет на работу DatePicker?
Есть простой код: Pjax::begin(['id' => "test-grid-pjax", 'enablePushState' => false, 'enableReplaceState' => false]); echo GridView::widget([ 'id' => "test-grid", 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => $columns, ]); Pjax::end(); И есть опреде...
- 2021.02.02, 17:43
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как При обращении по связи в AR брать данные из кэшированной модели?
- Ответы: 7
- Просмотры: 1530
Re: Как При обращении по связи в AR брать данные из кэшированной модели?
Например если есть start_point и end_point , мы ищем значение 111 в обоих столбцах (через OR), но вывод должен быть таким, чтобы первым был всегда тот, где было найдено значение 111, а вторым другое. Это вполне можно сделать средствами БД Для построения GridView используется DataProvider , который ...
- 2021.02.02, 16:48
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как При обращении по связи в AR брать данные из кэшированной модели?
- Ответы: 7
- Просмотры: 1530
Re: Как При обращении по связи в AR брать данные из кэшированной модели?
component_id в модели может и изменится, а вот связанная модель - нет(по крайней мере при жадной загрузке), ведь модель и связанные модели уже заполнены при вызове getModels Но ведь связанная модель вызывается динамически "по-требованию" и использует связь HAS::ONE с учётом этого самого c...
- 2021.02.02, 15:03
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как При обращении по связи в AR брать данные из кэшированной модели?
- Ответы: 7
- Просмотры: 1530
Re: Как При обращении по связи в AR брать данные из кэшированной модели?
потому что при запросе getModels выполняется sql запрос и заполняются модели. при вызове setModels этого не происходит. что вообще сделать нужно то? Но я же меняю данные в моделях при array_map и потом изменённые отдаю в dataProvider , разве нет? ----------------------------------- Нужно сформирова...
- 2021.02.02, 13:41
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как При обращении по связи в AR брать данные из кэшированной модели?
- Ответы: 7
- Просмотры: 1530
Как При обращении по связи в AR брать данные из кэшированной модели?
Имеется GridView и в некоторых столбцах для вывода значения идёт обращение к связанным моделям. Например: $model->component->name Этот кусочек кода приводит к тому, что идёт обращение к БД по связи один к одному, где связь идёт по component_id В контроллере для своих нужд я делаю так: $itemsModels =...
- 2020.10.15, 15:53
- Форум: Общие вопросы (Yii 2.x)
- Тема: Active record и SQL инъекции
- Ответы: 2
- Просмотры: 1535
Active record и SQL инъекции
Здравствуйте. Скажите, правильно ли я понимаю, что у ActiveRecord в условии ` where ` не происходит никакого автоматического анализа входного массива и не происходит процесс подготовки запроса? Например есть запрос: User::find()->where(['user_id' => $userId]) Происходит ли тут автоматический разбор ...
- 2020.10.09, 14:47
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как отключить ассеты родителя в виджете наследнике?
- Ответы: 1
- Просмотры: 613
Re: Как отключить ассеты родителя в виджете наследнике?
у родительского виджета был есть трейт, в котором есть метод, в котором подключается ассет /** * @inheritdoc */ protected function registerPlugin($name) { $view = $this->getView(); BootstrapPluginAsset::register($view); $id = $this->options['id']; if ($this->clientOptions !== false) { $options = emp...
- 2020.10.09, 13:07
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как отключить ассеты родителя в виджете наследнике?
- Ответы: 1
- Просмотры: 613
Как отключить ассеты родителя в виджете наследнике?
Есть виджет, наследующийся от ` yii\bootstrap4\Modal `. Этот дефолтный виджет подключает у себя скрипты, такие как ` bootstrap.js ` и ` bootstrap.css ` определённой версии. А я бы хотел использовать другие версии, но с таким же функционалом, что написан в виджете. Как можно заменить эти стили конкре...
- 2020.08.15, 08:22
- Форум: Общие вопросы (Yii 2.x)
- Тема: Pjax перезагружает страницу или не работает вовсе при использовании фильтра GridView в модальном окне
- Ответы: 0
- Просмотры: 965
Pjax перезагружает страницу или не работает вовсе при использовании фильтра GridView в модальном окне
Есть страница, которая подгружается через ` ajax `: $.get('/test/show-window', {params: params}, response => { if (response.error) { bootbox.alert(response.error.message); return false; } let modal = $('#my-modal'); modal.find('.modal-body').html(response); modal.modal('show'); }); В нём есть просто...
- 2020.08.13, 16:11
- Форум: Общие вопросы (Yii 2.x)
- Тема: Очень много одиночных запросов на index странице
- Ответы: 7
- Просмотры: 1310
Re: Очень много одиночных запросов на index странице
ммм.. точно. что-то я не заметил. Но выигрыша это не дало...что-то осталось как былоunknownby писал(а): ↑2020.08.13, 16:06 Можно написатьА вот тут почитать Жадная загрузкаКод: Выделить всё
->joinWith('owner o', false, 'LEFT JOIN')
UPD: хотя вроде дало... поэкспериментирую ещё. спасибо
- 2020.08.13, 16:07
- Форум: Общие вопросы (Yii 2.x)
- Тема: Очень много одиночных запросов на index странице
- Ответы: 7
- Просмотры: 1310
Re: Очень много одиночных запросов на index странице
Упрощение ничего не дало.. значит что-то в моделях и связях и загрузках... Подскажите пожалуйста, как осуществить ленивую загрузку? Я думал joinWith в этом помогаетElisDN писал(а): ↑2020.08.13, 14:29 Ну и код можно упростить до:
Код: Выделить всё
'attribute' => 'responsible_id', 'value' => 'responsible.name',
- 2020.08.13, 16:00
- Форум: Общие вопросы (Yii 2.x)
- Тема: Очень много одиночных запросов на index странице
- Ответы: 7
- Просмотры: 1310
Re: Очень много одиночных запросов на index странице
Сделать жадную загрузку у меня в поисковой модели написано `joinWith` типа ->joinWith('owner o') , ->joinWith('organization org') это не оно? Подскажите как правильно. Что есть жадная загрузка? Ну и код можно упростить до: 'attribute' => 'responsible_id', 'value' => 'responsible.name', ДА, я знаю. ...
- 2020.08.13, 14:23
- Форум: Общие вопросы (Yii 2.x)
- Тема: Очень много одиночных запросов на index странице
- Ответы: 7
- Просмотры: 1310
Очень много одиночных запросов на index странице
У меня есть стандартная index страница с таблицей. Там может быть выведено много данных из связанных таблиц, например: [ 'attribute' => 'responsible_id', 'value' => function($model) { return $model->responsible->name ?? ''; }, 'filter' => $data['headTypes'] ], [ 'attribute' => 'owner_id', 'value' =>...
- 2020.07.28, 13:59
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как при включенной enableAjaxValidation избежать автосохранения формы?
- Ответы: 3
- Просмотры: 1155
Как при включенной enableAjaxValidation избежать автосохранения формы?
В некоторых формах проекта (в 12 из 40) при создании или редактировании в одном/двух/трёх полях стоит серверная валидация, т.к. нужно проверять уникальность поля или связки. Поэтому стоит ` enableAjaxValidation `. Валидация происходит при потере фокуса, при изменении значения в поле и при клике на к...
- 2020.07.16, 08:16
- Форум: Общие вопросы (Yii 2.x)
- Тема: Есть ли плагин/виджет "выборщика" из списка значений?
- Ответы: 0
- Просмотры: 1036
Есть ли плагин/виджет "выборщика" из списка значений?
Я не знаю как правильно искать. Но, есть ли виджет для ActiveForm, позволяющий нажать на кнопку, в открывшемся окне выбрать значение из списка и чтобы это значение (или id) потом отослалось с формой на валидацию и сохранение, как элемент модели ActiveRecord? Пример: https://i.stack.imgur.com/jwhoF.j...
- 2020.06.10, 16:41
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как фильтровать по строгому сравнению, но регистронезависимо в search model?
- Ответы: 1
- Просмотры: 677
Re: Как фильтровать по строгому сравнению, но регистронезависимо в search model?
Всё. Кажется понял:
Код: Выделить всё
->andFilterWhere(['=', 'LOWER(tz.name)', mb_strtolower($this->name)])
- 2020.06.10, 16:16
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как фильтровать по строгому сравнению, но регистронезависимо в search model?
- Ответы: 1
- Просмотры: 677
Как фильтровать по строгому сравнению, но регистронезависимо в search model?
Для условия фильтрации по like в модели поиска, в методе public function search($params) можно писать вот так: $query->andFilterWhere(['like', 'tz.name', $this->name]) для регистронезависимого вот так: $query->andFilterWhere(['ilike', 'tz.name', $this->name]) А если я хочу строго вот так: $query->an...
- 2020.05.28, 10:13
- Форум: Общие вопросы (Yii 2.x)
- Тема: Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
- Ответы: 7
- Просмотры: 1503
Re: Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
Расширенный поиск должен дополнять, но никак не противоречить поиску в гриде. При разногласиях просто напросто результат не выйдет пользователю. Ну не то, чтобы противоречить. Например в гриде может быть нестрогий поиск по имени пользователя например и строгий (за счёт применения знака "="...
- 2020.05.28, 08:12
- Форум: Общие вопросы (Yii 2.x)
- Тема: Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
- Ответы: 7
- Просмотры: 1503
Re: Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
А можно сделать своеобразную панель с фильтрами. Добавить внутри search условий при заполненности поля из панели фильтров. Чтобы можно было использовать фильтры грида и панели фильтров. По сути, расширенный поиск, и есть что-то доп. панели с фильтрами. Во всяком чисто визуально так и получается. А ...
- 2020.05.28, 08:09
- Форум: Общие вопросы (Yii 2.x)
- Тема: Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
- Ответы: 7
- Просмотры: 1503
Re: Где и как правильно делать расширенный поиск, с множеством зависимых таблиц?
Желательно сделать расшиоенную SearchForm extends Model со всеми нужными полями и методом search. И её через ActiveForm рендерить отдельно выше таблицы и её же использовать для расширенного поиска и обычного. И для обычного тоже? Но ведь они могут различаться кардинально. Для простого поиска будет,...