Server IP : 185.86.78.101 / Your IP : 216.73.216.108 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/models/ |
Upload File : |
<?php namespace app\models; use Yii; /** * This is the model class for table "orders". * * @property int|null $id * @property int $product_id * @property string $lang * @property int $quantity * @property int $price * @property string $name * @property string $phone * @property string|null $email * @property int $shipment_id * @property string $address * @property string|null $comment * @property string $shipment * @property array[int] $statuses * @property int $recentStatus */ class Order extends \yii\db\ActiveRecord { /** * {@inheritdoc} */ public static function tableName() { return 'orders'; } /** * {@inheritdoc} */ public function rules() { return [ [['lang', 'quantity', 'price', 'name', 'phone', 'shipment_id', 'address'], 'required'], [['product_id', 'quantity', 'price', 'shipment_id'], 'integer'], ['product_id', 'default', 'value' => 1], [['lang'], 'string', 'max' => 2], [['name', 'email'], 'string', 'max' => 50], ['phone', 'match', 'pattern'=>'/^(((38)?0\d{2})|(7\d{3}))\d{7}$/'], ['phone', 'filter', 'filter' => function($value) { return strlen($value) == 10 ? '38' . $value : $value; }], ['email', 'email', 'enableIDN' => true], ['shipment_id', 'exist', 'targetClass' => ShippingMethod::class, 'targetAttribute' => ['shipment_id' => 'id']], [['address'], 'string', 'max' => 200], [['comment'], 'string', 'max' => 300], ]; } /** * {@inheritdoc} */ public function afterSave($insert, $changedAttributes) { parent::afterSave($insert, $changedAttributes); if ($insert) { $status = new OrderStatuses; $status->order_id = $this->id; $status->status_id = 1; // State "In queue" $status->status_date = (new \DateTime())->format('Y-m-d H:i:s'); $status->save(); } } /** * {@inheritdoc} */ public function attributeLabels() { return [ 'id' => 'ID', 'product_id' => '#', 'lang' => 'Мова', 'quantity' => 'К-сть', 'price' => 'За ціною', 'name' => 'П. І. П.', 'phone' => 'Телефон', 'email' => 'Email', 'shipment_id' => 'Код доставки', 'shipment' => 'Доставка', 'address' => 'Адреса', 'comment' => 'Примітка', ]; } public function getShipment() { return $this->hasOne(ShippingMethod::class, ['id' => 'shipment_id']); } public function getStatuses() { return $this->hasMany(OrderStatuses::class, ['order_id' => 'id'])->orderBy('status_date'); } }