0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 21
1

Значение должно быть строкой в виджете select yii2?

24.04.2020, 11:07. Показов 2034. Ответов 25

Author24 — интернет-сервис помощи студентам
При использовании виджета select2 при вводе данных из базы в виджет выдаёт сообщение Значение должно быть строкой:
Значение должно быть строкой в виджете select yii2?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use kartik\select2\Select2;
use backend\models\Teg;
use yii\helpers\ArrayHelper;
 
 
 
$data = Teg::find()->asArray()->all();
 
$data = ArrayHelper::getColumn($posts, 'title');
 
  echo $form->field($model, 'teg')->widget(Select2::classname(), [
    'data' => $data,
  
    'options' => ['placeholder' => 'Выберете тег ...'],
    'pluginOptions' => [
         'multiple' => true
    ],
]);
выбор виджета выглядит так:
Значение должно быть строкой в виджете select yii2?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2020, 11:07
Ответы с готовыми решениями:

Ошибка Имя функции должно быть строкой
Через аякс oтправляю запрoсы, начинает выпoлняться функция add_contact(). В итoгде прихoдит стрoка...

Как должна быть организована сеть офиса? Что должно быть настроено обязательно, а чего быть не должно?
Добрый день. Сразу оговорюсь, что я инженер-строитель и настройкой сети занимаюсь только потому,...

Каким должно быть значение р, чтобы значение суммарной задержки было минимальным?
Задачка по сетям. Как решать? Можно какие нибудь формулы получить? Решать мне не обязательно. ...

Значение должно быть действительным
Что не так, почему так происходит?

25
2228 / 1275 / 609
Регистрация: 23.08.2015
Сообщений: 3,223
04.05.2020, 15:32 21
Author24 — интернет-сервис помощи студентам
konst2018, У вас раньше teg было строкой и хранилось в таблице фильмов, это поле вы удалите. Теперь связь хранится в отдельной таблице.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?= DetailView::widget([
    'model' => $model,
    'attributes' => [
        'id',
        'title',
        'year',
        [
            'label' => 'Теги',
            'value' => !empty($model->tegs) ? implode(', ', ArrayHelper::getColumn($model->tegs, 'title')) : '-',
        ],
    ],
])
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 21
04.05.2020, 15:44  [ТС] 22
Так вернул ffilmkontroller.php впрежнее состояние.
ТАк после сохранения все значения тегов сохраняются в числовом виде в таблице film_tegs. А в таблице film значение teg не меняется
0
2228 / 1275 / 609
Регистрация: 23.08.2015
Сообщений: 3,223
04.05.2020, 15:51 23
konst2018, В таблице film значение teg не будет меняться. Это поле вам вообще больше не нужно в этой таблице. В таблице film_tegs хранится связь многий ко многим, с film_id и teg_id. Т.е. вы через связь будете получать массив объектов привязанных тегов. И title тега уже будет браться непосредственно из таблицы teg.

Добавлено через 1 минуту
Т.е. $model->tegs - вернет массив объектов типа Teg.
Почитайте что-нибудь про связанные данные https://yiiframework.com.ua/ru... ional-data
0
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 21
04.05.2020, 15:53  [ТС] 24
Так как выводить на сайт значения teg
0
2228 / 1275 / 609
Регистрация: 23.08.2015
Сообщений: 3,223
04.05.2020, 15:59 25
Цитата Сообщение от konst2018 Посмотреть сообщение
Так как выводить на сайт значения teg
Я уже не знаю как вам объяснять) Я выше уже привел 2 примера как их выводить на сайте, и в DetailView.
Суть в том, что у вас Фильм может иметь несоколько тегов, и простое поле teg в таблице film не подойдет. Забудьте про него. Да даже если бы фильм мог иметь только один тег. Почитайте что-нибудь про нормализацию Базы данных. Вы все равно должны были бы указывать в таблице film teg_id, а уже по связи поставать title тега.
1
0 / 0 / 0
Регистрация: 09.10.2018
Сообщений: 21
06.05.2020, 14:35  [ТС] 26
Спасибо всё заработало вы супер профи
0
06.05.2020, 14:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2020, 14:35
Помогаю со студенческими работами здесь

Значение должно быть целым
Дана система уравнений Ax=b порядка m с разреженной матрицей A. Решить систему прямым методом при...

Значение должно быть скалярным!
не могу понять что машина хочет!

Значение должно быть функцией
Составил программу, но она выдаёт ошибку, помогите её найти (ошибку)

Значение должно быть скалярным
Значение должно быть скалярным. Не могу понять , в чем проблема Это же.

Значение должно быть скалярным
Последние два уравнения можно как-то рассчитать через матрицы? Подскажите, пожалуйста, как это...

Значение должно быть скалярным
Делаю все по алгоритму из методичка, но получаются неправильные значения и выдает ошибку.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru