сохранение в бд

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
richard
Сообщения: 135
Зарегистрирован: 2015.07.21, 14:59

сохранение в бд

Сообщение richard »

В общем суть такова возможно ли сохранять данные из инпута в бд
вот пример того что я хочу реализовать, но не могу придумать как сделать
Это в views в админке

Код: Выделить всё

<? $date = date('Y-m-d H:i:s',$model->lastUpdate);
  $date_today = date('Y-m-d H:i:s');
  $new_date = date('Y-m-d H:i:s', strtotime("+1 hours", strtotime($date)));?>
<div class="col-md-2 col-xs-5" style="margin-bottom:10px; padding: 0 !important;">
        <?=$model->getAttributeLabel('divider');?>
        <?if (($date_today > $date) AND ($date_today <= $new_date))
        {
        $divider_amount=100;            
    }
        else
        {
            $divider_amount=50;            
        }
    
    ?><?=Html::textInput('discount',$model->divider,['id'=>'divider-'.$model->id ,'class'=>'form-control tab']);?>    
Это в контроллере сейчас

Код: Выделить всё

public function actionAjaxChange(){
        if(!empty($_GET['id']) && !empty($_GET['discount'])  && !empty($_GET['user_discount'])){
            $model = BrandsDiscounts::find()->where(['id'=>$_GET['id']])->one();
            $model->discountAmount = $_GET['discount'];
            $model->divider = $_GET['divider'];
            $model->userAmount = $_GET['user_discount'];            
            //$model->lastUpdate = time();
            return $model->save();
Данные передаются в контроллер через js по change

Код: Выделить всё

$(".tab").change(function(){
        var asset_id = this.id;
        var id = asset_id.replace("divider-","");
        var divider = this.value;
        var discount = $("#"+id).val();
        user_discount = discount*divider/100;
        $.ajax({
            url : "'.\yii\helpers\Url::to(["bamboo_discount/ajax-change"]).'",
            method : "get",
            data : {
                id : id,
                discount : discount,
                divider : divider,
                user_discount : user_discount
            },
            success : function(data){
                if(data) {
                    $("#user-amount-"+id).html(user_discount);
                } else {
                    alert("Error");
                }
            }
        });
    });
Последний раз редактировалось richard 2016.01.28, 10:04, всего редактировалось 1 раз.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: сохранение в бд

Сообщение lynicidn »

бред пьяного электрика
где форма?
что за селектор .tab?
почему не юзать валидаторы модели?
где собственно сами инпуты?
if закомментирован неверно
и .т.п
richard
Сообщения: 135
Зарегистрирован: 2015.07.21, 14:59

Re: сохранение в бд

Сообщение richard »

уважаемый критиковать всегда легко, а дать полезный ответ?
во 1-х что за селектор .tab? как вы могли лицезреть, это класс данного инпута
во 2-х где собственно сами инпуты? =Html::textInput это не инпут? и я не про все инпуты спрашиваю, а конкретный, в который в зависимости от даты надо вводить значение, и это значение сохранять в бд, и надо это сделать как-то автоматичесски, чтобы оно работало не только когда юзер обновил страницу и данные поменялись
в 3-х if закомментирован неверно оно не закоментированно а просто не раскоментированно до конца
в 4-х бред пьяного электрика я не электрик
в 5-х где форма? все поля выводятся при помощи

Код: Выделить всё

<?php
    echo ListView::widget( [
        'dataProvider' => $dataProvider,
        'itemView' => '_item',
    ] );
?>
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: сохранение в бд

Сообщение lynicidn »

var discount = $("#"+id).val(); этим что вы пытаетесь выбрать?
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: сохранение в бд

Сообщение lynicidn »

$("#user-amount-"+id).html(user_discount); куда засунуть?
Закрыто