@hollanditkzn

Как лучше правильно отдать данные?

У меня такая проблема что выводит ошибка Setting unknown property: app\models\Financy::2900
При моем адресе http://crm/personnel/calculate?id=1∑=2900&wage=380...
В views
<?= Html::a('Расчитать', ['calculate', 'id' => $modelPersonnel->id, 'sum' => round($sumWage,2), 'wage' => round($wage,2), 'name' => $modelPersonnel->nameSotrud], ['class' => 'btn btn-primary']) ?>

В контроллере
public function actionCalculate($id, $sum, $wage, $name)
    {
        $model = new Payroll();
        $financy = new Financy();
        $financy->scenario = 'employee';

        /** Payroll models */
        $model->personnel_id = $id;
        $model->sum = $sum-$wage;

        /** Financ models */
        $financy->$sum = $sum;
        $financy->id_employee = $id;
        $financy->category = Financy::SALARY;
        $financy->comment = 'Расчет зарплаты '.$name;

        $financy->save();
        $model->save();

        Yii::$app->session->addFlash('update', 'Произведен расчет '.$model->sum);
        return $this->redirect(['view', 'id' => $id]);
    }

В моделе которой ошибка выводит следующая структура
public function rules()
    {
        return [
            [['sum'], 'required', 'on' => 'default'],
            [['category', 'sum', 'comment'], 'required', 'on' => 'employee'],
            [['id_zakaz', 'id_user', 'id_employee', 'category'], 'integer'],
            [['date'], 'safe'],
            ['sum', 'filter', 'filter' => function($value){
                return str_replace(' ', '', $value);
            }],
            [['comment'], 'string'],
            ['sum', 'compare', 'compareValue' => $this->amount, 'operator' => '<=', 'type' => 'number', 'on' => 'default'],
            [['id_user'], 'exist', 'skipOnError' => true, 'targetClass' => User::className(), 'targetAttribute' => ['id_user' => 'id']],
            [['id_zakaz'], 'exist', 'skipOnError' => true, 'targetClass' => Zakaz::className(), 'targetAttribute' => ['id_zakaz' => 'id_zakaz']],
        ];
    }

Или лучше данные передавать скрытой формой?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
Да прочитайте Вы ошибку
Setting unknown property: app\models\Financy::2900

О чем о на говорит? о попытке установить не известный атрибут класса в 2900 строку класса app\models\Financy. А это значит что? что либо Вы обращаетесь не к существующему свойству, либо работает не с объектом
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы