Denis
Если в поле yii2, то что то гуглится так: yii2 staff schedule
Максим
Denis
А потом он такой говорит: что за фигню ты написал?😃
Максим
Ортем
Утро доброе товарищи.
Ортем
Вопрос к тем кто работал со связанными таблицами.
Есть две таблицы, в первой таблице хранятся все основные данные, во второй таблице хранятся данные в некоторых случаях, связанные по id с первой таблицей.
Связь один к одному.
Во второй таблице могут быть данные для некоторых записей, а могут не быть.
При выводе данных из основной и связанной таблицы, проблем нет.
Выводится из связанной таблицы значение для выпадающего списка
$form->field($model->repeat, 'type_repeat')->dropDownList(
Но когда я вывожу записи из первой таблицы но при этом во второй таблице данных нет, я получаю ошибку.
Вопрос. Как поступить в данной ситуации?
Ортем
Ортем
Код ошибке, при попытке вывести пустые данные
Call to a member function isAttributeRequired() on null
Ортем
По сути во вьюшку приходят мне две модели. Ко второй я обращаюсь посредством $model->repeat
1 модель - $model
2 модель - $model->repeat
Eugene
ну так, обрабатывай, мол, если не нулл, то работай, иначе не работай
Ортем
Ортем
Тогда в этом случае, если у меня приходит пустая модель, как мне правильно вывести dropDownList ?
Eugene
ну типа <?php if (model != null): ?> *тут чего то делаешь <?php else: ?> *тут что то делаешь <?php endif ?>
Ортем
Ортем
Просто в начале я спросил. нормальный ли это будет подход.
По видимому да.
Denis
В checkboxlist items и itemoptions могут конфликтовать?
Ортем
Ортем
Спасибо Евгений
Ортем
Eugene
Ребята, у меня yii ругается и выдает следующую ошибку "Invalid parameter number: number of bound variables does not match number of tokens" на мой код, можно я его вам покажу а вы меня носом натыкаете где я накосячил?
Eugene
ладно, надеюсь что вы меня не забаните за это. Вот код который порождает ошибку
$newsFromTwoTables = ThisDay::find()
->where
(
new Expression(
"day = :dateDay"
. " AND id_region = :id_region"
. " AND month = :month", [":dateDay" => $dateDay,
":month" => $currentMoth,
":id_region" => REGION_ID]))
->orderBy("news_date DESC")
->joinWith('news')
->where(
new Expression("EXTRACT(DAY FROM cdate) = :userDay "
. "AND id_region = :id_region "
. "AND EXTRACT(MONTH FROM cdate) = :userMonth "
. "AND EXTRACT(YEAR FROM cdate) ", [":userDay" => $dateDay,
":userMonth" => $currentMoth,
":id_region" => REGION_ID,
":stat" => 1])
)->andWhere(["NOT IN", "id", (new Query())->select("id_news")->from("this_day")])
//новости с самым высоким рейтингом
->with("rating nr")
->orderBy("nr.rate DESC")
->limit(4 - ThisDay::find()
->where(
new Expression(
"day = :dateDay"
. " AND id_region = :id_region", [":dateDay" => $dateDay,
":id_region" => REGION_ID]))
->count())
->orderBy("cdate_int DESC")
->groupBy("EXTRACT(YEAR FROM cdate)")
->all();
Где я пропустил переменную для байдинга, подскажите пожалуйста)
Pavel
Если я правильно помню, ключи в массиве параметров надо без двоеточия: ['dateDay' => $dateDay, ...
Максим
Eugene
Pavel
О, там есть лишний параметр ':stat' => 1 - в запросе он не используется вроде
Pavel
Насчёт двоеточия я не уверен
Eugene
Denis
Пацаны, activecheckboxlist всего лишь вытаскивает из модели данные, но обратно не пушит?
Denis
То есть всю обработку отправленных данных делаю сам?
Denis
Все ручками ?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
ActiveForm же, ну
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
В атрибуте модели получишь массив значений из чекбокслиста
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
А дальше уже делай с ними что хочешь
Denis
Получил
Denis
Ну то есть ручками
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Что ручками то?
Denis
Потом данные отрпалвеннеы обработаю
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Естественно
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Никто же не в курсе что это и зачем это и как с ним работать) кроме тебя
Denis
У меня тут другой влпорос возник. Не совсем понял. В доке написано, что $items -пункты, а потом в опшнз есть опять callable item
Denis
И нифига нет примера. Даже в гитхаб посылали. Не нашел
Максим
Denis
https://www.yiiframework.com/doc/api/2.0/yii-helpers-basehtml#activeCheckboxList()-detail
Denis
То есть проще взять checkboxlist и натыкать ему просто пункты и пункты включенные
Максим
𝕂𝕠𝕟𝕤𝕦𝕝
Народ, подскажите, как можно загрузить производственный календарь? Быстро, без смс, регистрации) Желательно какое то апи или просто sql-файлы. По типу как есть для стран, регионов справочники.
Denis
Denis
То же самое что и в доке
𝕂𝕠𝕟𝕤𝕦𝕝
John
всем привет, кто-то сталкивался с такой проблемой ?
John
Niko
Roman
/var/lib/php/sessions доступен для записи процессом PHP?
Ортем
John
Denis
А в php нет функции из коробки, которая сравнивает массивы по значениям и отдает ключи, где значения одинаковые ?
Максим
Максим
Denis
Спасибо
Farhodjon
Добрий ден всем. Когота зделал динамик филтер для интернет магазина?
Владимир
/link@yetanotherstatsbot
Yet Another Stats (β)
https://b.yasb.exileed.com/telegram/chat/1001046156199
Максим
Farhodjon
привет. вопрос в чем? кто то делал
Я плнировал ДБ вот так.
Таблица продукты:
id,
name,
image,
...
Таблици филтер:
id,
name,
value,
parent_id,
Таблица product_filter_values:
product_id
filter_id
Так планироват правильно
Максим
Farhodjon
У меня ест такие данные:
product:
1 iphone X 1.jpg...
2 galaxy S9 2.jpg
3 Mi 4X 3.jpg
...
filter:
1 RAM null null
2 null 4GB 1
3 null 8GB 1
4 null 16GB 1
5 Camera null null
6 null 8MP 5
7 null 12MP 5
8 null 16MP 5
...
product_filter_values:
1 3
1 6
2 2
2 7
Вопрос такой. Как я могу филтироват продукты.
Я сделал вот так:
Product::find()->joinWith('filterValues')->where(['in', 'product_filter_values', $filter_get])->all();
Farhodjon
Но там ошибка был если ползовател выбрат 4GB и 8MP в резултате ест S9 и Iphone X
Farhodjon
Как я могу филтироват продукты правильно?
Максим
Как я могу филтироват продукты правильно?
->where(['in', 'product_filter_values', $filter_get])
по идее надо так
->where(['in', 'product_filter_values.filter_id', $filter_get])
Максим
то есть указать таблицу и поле, по которому будем отбирать данные с помощью оператора IN