Страница 1 из 1

Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2015.08.14, 20:35
yazu
Суть вопроса: При регистрации пользователь вводит свой email, логин и пароль, после регистрации в личном кабинете доступны ещё атрибуты, к примеру: дата рождения, имя, фамилия, изображение - аватар. Теперь нужно отредактировать эти данные. Создал форму и модель к ней, логика работы должна быть такая: при открытии страницы все поля для ввода уже заполнены текущими данными пользователя (т.к. редактировать можно постоянно не один раз), пользователь меняет все данные, они валидируются и отправляются в модель, там записываются в базу и контроллер возвращает пользователя в личный кабинет.
Вроде всё просто, но я не знаю:
1. Как сделать чтоб при открытии вьюхи с формой, поля были заполнены данными пользователя (Пока сделал так: в контроллере узнаём id пользователя, и возвращаем во вью все данные, во вьюхе пишем их в input'ы)
2. Главный вопрос, я не знаю как сделать правильную запись данных в БД с помощью модели. (Используя контроллер я реализовал это, но как сделать через модель - вопрос.)

Кто сталкивался, помогите пожалуйста. В гугле ничего подобного не нашёл.

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2015.08.14, 21:07
mkramer
Эмм... А в документации к Yii2 не пробовали искать? ActiveForm называется механизм, там уже всё готово. Как реализовывать модель будете - это уже от вас зависит. Можете ActiveRecord использовать, можете запросы к DB в моделе, можете паттерн "Хранилище" - что душе угодно. http://www.yiiframework.com/doc-2.0/gui ... forms.html, http://www.yiiframework.com/doc-2.0/guide-db-dao.html, http://www.yiiframework.com/doc-2.0/gui ... ilder.html, http://www.yiiframework.com/doc-2.0/gui ... ecord.html

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2015.08.15, 06:59
maleks
2. ActiveRecord
1. решится сам собой через 2.

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.21, 06:41
ProFM
не в одном из приведенных ГС нету вообще данной задачи, которую дал вам человек! По данной информации не возможно никак создать форму, это факт, а уж тем более заполнить ее имеющимися данными, и уж тем более нереально обновить эти данные в БД. Конченый yii2, проще на чистом php писать, чем этим дерьмом не нужным пользоваться. Но дибилы не поймут, факт

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.22, 03:31
leonenco
С тобой не согласен, если руки кривые, и не понимаещь основ программирования, иди в лес. На первый вопрос человек уже ответил, берете данные по id и присваивайте значения в инпуты, в зарегистрированной части вашего сайта, тобишь инсайт, вы делайте extended форму в которую передаете через рендер. Хороший пример если вы посмотрите на Contact Modelи ее реализацию, вам станет понятнее. Принцип один и тот же, создаете таблицу, описывайте модель, делайте контроллер, создаете вьюху куда передаете обьект вашей таблицы с полями. заполнив которые после саббмита, обнавляются в базе данных

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.22, 06:00
ProFM
leonenco школьники подтянулись... Причем тут основы программирования и yii2?? Это 2 разных языка, которые вообще не связаны! Еще раз повторяю, по ссылкам такого примера нет и это факт! Дока это мусор для новичка, это факт! Вот покажи, не криворукий, хотя, причем тут руки.... , где там пример в точь в точь для решения задачи? Без вырезанного кода, где объяснено что зачем нужно создавать, такого там нету, и это тоже факт! Если тебе помогли в жизни разобраться с yii, и конечно же, тебе помогает дока, это не значит, что она будет помогать тем, кто только начал изучать этот фреемворк! Просто смирись с фактами и не отвечай своим бредом! На данный вопрос никто не ответил ФАКТ, доки можете засунуть себе куда подальше, о пряморукие

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.22, 18:31
mkramer
ProFM, если кому-то нужен пример "точь-в-точь" его задачи, значит он ошибся в выборе профессии.

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.22, 19:15
Nex-Otaku
ProFM писал(а): 2018.01.22, 06:00 leonenco школьники подтянулись... Причем тут основы программирования и yii2?? Это 2 разных языка, которые вообще не связаны! Еще раз повторяю, по ссылкам такого примера нет и это факт! Дока это мусор для новичка, это факт! Вот покажи, не криворукий, хотя, причем тут руки.... , где там пример в точь в точь для решения задачи? Без вырезанного кода, где объяснено что зачем нужно создавать, такого там нету, и это тоже факт! Если тебе помогли в жизни разобраться с yii, и конечно же, тебе помогает дока, это не значит, что она будет помогать тем, кто только начал изучать этот фреемворк! Просто смирись с фактами и не отвечай своим бредом! На данный вопрос никто не ответил ФАКТ, доки можете засунуть себе куда подальше, о пряморукие
Ржу )

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.23, 06:42
ProFM
mkramer причем тут вообще выбор профессии? Чтобы чему то научиться, нужно нормальное обучение ну или хотя бы нормальные примеры, которых нету вообще. И вместо того, чтобы что то отвечать, научитесь это делать. Я сказал ФАКТ! Не умеете помогать, покиньте этот форум, он не для вас

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.23, 06:42
ProFM
Nex-Otaku Жаль вас, тяжело наверное в жизни, раз вы думаете что yii2 это чистый php. Зайдите в yii2 возьмите любую функцию и найдите ее название на сайте php, если бы этот Yii2 был языком php, никто бы не спрашивал подобные вопросы, все бы брали и без справочников и док писали бы сайты, а не сидели и не разбирались в этом мусоре кода. Нормальные люди это понимают, а подобная школота, будет только вякать подобными сообщениями, вместо нормального ответа

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.23, 10:33
urichalex
Как сейчас можно говорить: в голос

Re: Формы yii2. Как обновить данные в БД используя модель?

Добавлено: 2018.01.23, 13:09
mkramer
ProFM писал(а): 2018.01.23, 06:42 mkramer причем тут вообще выбор профессии? Чтобы чему то научиться, нужно нормальное обучение ну или хотя бы нормальные примеры, которых нету вообще. И вместо того, чтобы что то отвечать, научитесь это делать. Я сказал ФАКТ! Не умеете помогать, покиньте этот форум, он не для вас
Т.е. по вашему, я в каждом ответе должен решать задачу? Я предпочитаю кидать инфу.