For Programming
6 subscribers
4 photos
1 video
12 links
Download Telegram
Controllerdagi kod

public function actionCreate()
{
if (Yii::$app->request->isAjax) {
$model = new Product();
$product_price = new ProductPrice();
$currency = Currency::find()->where(['status' => Currency::STATUS_ACTIVE])->asArray()->all();
$currency_list = ArrayHelper::map($currency, 'id', 'title');
$category = Category::find()->where(['status' => Category::STATUS_ACTIVE])->asArray()->all();
$category_list = ArrayHelper::map($category, 'id', 'title');
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
if ($model->load(Yii::$app->request->post())) {
$model->imageFile = $_FILES;
if ($model->Upload() && $model->save()) return ['status' => 'success'];
}
return [
'status' => 'error',
'content' => $this->renderAjax('_form.php',[
'model' => $model,
'product_price' => $product_price,
'currency_list' => $currency_list,
'category_list' => $category_list,
]),
];
}
}



Modeldagi kod


public function getExtension()
{
$extension = explode("/", $this->imageFile['imageFile']['type']);
return $extension[1];
}

public function Upload()
{
if ($this->validate()) {
$file_name = date("Y-m-d")."_".rand(1000, 9999) . '.' . $this->getExtension();
move_uploaded_file($this->imageFile['imageFile']['tmp_name'], 'uploads/images/' . $file_name);
$this->image = $file_name;
return true;
}
return false;
}


Jquerydagi kod


$(document).on("click", "#insert-product-form",function(){
var data = new FormData();
var form = $('#product-create-form').serializeArray();
$.each(form, function (key, input) {
data.append(input.name, input.value);
});
var file_data = $("#product-imagefile").prop("files")[0];
data.append("imageFile", file_data);
console.log(data)
$.ajax({
url: '/product/create',
dataType: 'JSON',
type: 'post',
data: data,
contentType: false,
processData: false,
success: function(response){
if (response.status == 'error') {
$('#exampleModal .modal-title').html('Tovar qo\'shish').css({fontSize: 23})
$('#exampleModal .modal-body').html(response.content)
} else if (response.status == 'success') {
$.pjax.reload('#id-pjax')
$(".close").trigger("click");
}
}
});
});



Ajax orqali file yuklanayotganda file malumotlari kelmay qoladi xattoki $_FILES o'zgaruvchisida ham shuning uchun manashu usulda malumotlarni saqlab olsa bo'ladi
For Programming
yii2 paginatsiya xatoliklari $disabledListItemSubTagOptions = ['class'=>'page-link']; $linkContainerOptions = ['class' => 'page-item']; $linkOptions = ['class' => 'page-link']; bo`sh massivlarni shular bilan to`ldirish kerak
pagination xatoligini bunday tuzatish xato o'rniga gridviewni o'zida berib ketgan yaxshi birinchi usulda butun proyektga tasir qilib ketadi. Mana bunday

'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'pager' => [
'class' => '\yii\widgets\LinkPager',
'linkOptions' => ['class' => 'page-link'],
'linkContainerOptions' => ['class' => 'page-item'],
'disabledListItemSubTagOptions' => ['class'=>'page-link']
],
Live stream started
Live stream finished (1 minute)
migratsiyada foregnkey va indexlarni o'chirishda avval foregnkey ochirilishi kerak bo'lmasam hatolik beradi
SERVERGA PHP O"RNATISH

sudo apt update
sudo apt upgrade

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

sudo apt install php8.1-fpm php8.1-cli php8.1-curl php8.1-pgsql php8.1-gd php8.1-mbstring php8.1-mysql php8.1-xml php8.1-zip php8.1-pdo

php -v php versiyasini ko'rish
php -m php modullarini ko'rish
SERVERGA MySQL O"RNATISH

sudo apt update
sudo apt install mysql-server

MySQL ni SOZLASH

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
sudo mysql_secure_installation
mysqldump -u root -p'mypassword' mydb > mypath/dump.sql
sudo chown www-data ./runtime -R
sudo chown www-data ./web/assets -R
sudo service postgresql restart
Forwarded from Qosimjon
# Get a backup from postgresql
# local
pg_dump --username=postgres --password dbname > dbname.bak

# remote
pg_dump --host=remotehost --port=5432 --username=postgres --password --dbname=dbname > dbname.bak

# Restore backup
# with psql
psql --username=username dbname < dbname.bak

psql -U postgres -p 5432 -d DBName -f

# with pg_restore
pg_restore --username=username --dbname=dbname -1 filename.dump

Manba: @bahriddin_blog
#pgsql #postgres #sql #postgresql #get #local #remote #backup #restore #backup
SERVERGA NGNIX O'RNATISH VA SOZLASH

sudo apt update
sudo apt install nginx
sudo ln -s /etc/nginx/sites-available/about-me.uz /etc/nginx/sites-enabled/about-me.uz
sudo certbot certonly --standalone -d ajoib-tabrik-bot.about-me.uz
create database tgmaqsad with owner mahmudjon_user;