Size: a a a

2021 June 20

VC

Vadim Chekryzhev in Yii Framework 2
Добрый день. Наблюдается следующая проблема. В одну из таблиц базы данных добавил ещё одно поле. При попытке работы с этим полем через модель AR падает ошибка, что в моделе такого свойства нет. База указана верная, данные без этого поля в таблицу записываются. В чем может быть проблема? База Postges, лежит в Docker. Заранее спасибо.
источник

a

atcq (Алексей)... in Yii Framework 2
проверить раскладку (в бд и в коде), публичность поля
источник

VC

Vadim Chekryzhev in Yii Framework 2
Дело было в кеше схемы базы данных. Раньше когда очищал кеш то и схема обновлялась. А в текущем проекте не срабатывало. Пришлось подтягивать изменения самому
источник

a

atcq (Алексей)... in Yii Framework 2
тогда весьма неочевидное исключение, свойство то есть
источник

VC

Vadim Chekryzhev in Yii Framework 2
Свойства не было, потому что схема базы данных была старой
источник

A

Andrey D. in Yii Framework 2
Кто может подсказать, почему так происходит и как добиться нужного результата?

Имеем вид index.php, в нем рендерим файл:

<div class="out">
<?= $this->renderFile('@frontend/views/_block.php') ?>
</div>


Внутри _block.php вызываем виджет:

<div class="inside">
<?= \my\super\WidgetBar::widget() ?>
</div>


В виджете рендерим вид widget:

<?php
namespace my\super;
class WidgetBar extends \yii\base\Widget
{
 public function run()
 {
   return $this->render('widget');
 }
}


В файле widget.php просто строка:

Я СТРОКА!


Получаем результат:

<div class="out">
<div class="inside">
</div>
Я СТРОКА!
</div>


WTF??? Почему строка находится за пределами inside? Должна же быть внутри
источник

B

Bot in Yii Framework 2
Проверь закрывающие теги везде
источник

A

Andrey D. in Yii Framework 2
С тегами все в порядке. Если заменить в виджете строку

return $this->render('widget');

на return 'Я СТРОКА!'

то все выводится правильно, а внутри стрки 'Я СТРОКА!', как видно нет никаких тегов
источник

A

Andrey D. in Yii Framework 2
Да, дело действительно не в yii. Оказалось, что какой-то js на сайте выдергивает определенные теги и перемещает их за пределы родителя. В исходном коде странички все норм при этом. Спасибо за подсказку
источник

AI

ADMIN INDIGO in Yii Framework 2
Как проверять на уникальность только по текущему пользователю? Чтобы разные пользователи могли вводить одну карту. А один и тот же мог сохранить только одну карту
источник

AI

ADMIN INDIGO in Yii Framework 2
unique как я понял проверяет во всей таблице а мне надо только у текущего пользователя в бд есть поле user_id как проверять по нему ?
источник

VR

Vladimir Rakovich in Yii Framework 2
у unique есть targetAttribute
источник

VR

Vladimir Rakovich in Yii Framework 2
но все равно это будет не то, это будет проверка, чтобы пользователь не мог добавить одну и ту же карту дважды
источник

AI

ADMIN INDIGO in Yii Framework 2
// a1 и a2 вместе должны быть уникальны, но только a1 будет получать сообщение об ошибке
   ['a1', 'unique', 'targetAttribute' => ['a1', 'a2']],
Как я понял вот то мне нужно
источник

VR

Vladimir Rakovich in Yii Framework 2
если нужна уникальность клиент-карта, то да.
если нужно, чтобы клиент не мог добавить больше одной карты, то нет
источник

AI

ADMIN INDIGO in Yii Framework 2
Уникальность клиент-карта нужно было спс
источник

AI

ADMIN INDIGO in Yii Framework 2
Все работает
источник

ES

Evgeniy Selevko in Yii Framework 2
потому что у тебя код вот так написан <div class="out">
<div class="inside">
</div>
Я СТРОКА!
</div> а должен быть так <div class="out">
<div class="inside">Я СТРОКА!
</div>

</div>
источник

ES

Evgeniy Selevko in Yii Framework 2
у тебя слово находится за закрывающим тегом инсайд
источник

ES

Evgeniy Selevko in Yii Framework 2
внимательнее посмотри
источник