Нужна помощь, не могу понять почему не проходит валидация???
Код: Выделить всё
<?php
namespace app\models;
use yii\db\ActiveRecord;
class Withdraw extends ActiveRecord
{
public $sum;
public $fpassword;
public static function tableName()
{
return 'withdraw';
}
public function attributeLabels()
{
return [
'sum' => 'Введите сумму:',
'fpassword' => 'Введите финансовый пароль:',
];
}
public function rules()
{
return [
[['sum'], 'required','message' => 'Вы должны указать сумму для вывода'],
[['sum'], 'integer', 'min' => 3000, 'tooSmall' => 'Минимальная сумма вывода {min} ₸'],
[['sum'], 'integer', 'max' => \Yii::$app->user->identity->amount, 'tooBig' => 'Недостаточно средств для вывода'],
[['fpassword'], 'required','message' => 'Вы должны ввести финансовый пароль'],
[['fpassword'], 'string', 'length' => [1,30]],
[['fpassword'], 'match', 'pattern' => '/^[A-Za-z0-9\s,]+$/u'],
];
}
public function validateWithdraw()
{
if ($this->validate())
{
$user = User::find()->where(['id'=>\Yii::$app->user->identity->id])->one();
$user->amount -= $this->sum;
$orderWithdraw = new Withdraw();
$orderWithdraw->user_id = \Yii::$app->user->identity->id;
$orderWithdraw->sum = $this->sum;
$orderWithdraw->status = 0;
$orderWithdraw->comment = 'Заявка на вывод средств';
$orderWithdraw->created_at = date('Y-m-d H:i:s');
$orderWithdraw->updated_at = date('Y-m-d H:i:s');
return ($user->save() && $orderWithdraw->save());
}
}
}
Код: Выделить всё
app\models\Withdraw#1
(
[sum] => '3000'
[fpassword] => null
[yii\db\BaseActiveRecord:_attributes] => [
'user_id' => '24'
'status' => 0
'comment' => 'Заявка на вывод средств'
'created_at' => '2017-06-23 16:21:12'
'updated_at' => '2017-06-23 16:21:12'
]
[yii\db\BaseActiveRecord:_oldAttributes] => null
[yii\db\BaseActiveRecord:_related] => []
[yii\base\Model:_errors] => null
[yii\base\Model:_validators] => null
[yii\base\Model:_scenario] => 'default'
[yii\base\Component:_events] => []
[yii\base\Component:_behaviors] => []
)
где-то за тупил ???