• 1400/03/17

عملیات transaction :

سلام وقت بخیر ،

استاد عزیز سوالم عذر میخوام شاید ربطی به دوره نداشته باشه،

برای transaction من کارای زیرو انجام دادم ولی کار نمیکنه ، میخواستم اگر ممکنه یه راهنمایی کنید یا اگر براتون ممکنه در همین دوره به سیستم اضافش کنید و نزارید برای آپدیت خیلی خیلی ممنون میشم

این متد رو در HasCrud نوشتم

public function transactionMethod($callBack){
		$pdoInstance = DBConnection::getConnection();
		try{
			$pdoInstance->beginTransaction();
			$callBack();
			$pdoInstance->commit();
		}catch(\Exception $e){
			$pdoInstance->rollBack();
		}
	}

و به این طریق ازش استفاده کردم که کار نمیکنه یعنی اون فیلدی که درسته اعمال میشه و رول بک نمیشه مثلا آیدی 2 نداریم ولی آیدی 1 اعمال میشه

public function update($id){
        Slide::transaction(function(){
            Slide::update(['test' => 119],1);
            Slide::update(['test' => 118],20);
        });

خیلی ممنون استاد عزیز لطف میکنید اگر اینو یا همینجا توضیح بدید یا به دوره اضافه کنید

 

 

 

 

 

 

 

  • 1400/03/18
  • ساعت 10:59

با سلام خدمت شما همراه عزیز

 

 

حتما به دوره اضافه میشه

 

 

از لینک زیر کمک بگیرید

 

https://stackoverflow.com/questions/2708237/php-mysql-transactions-examples


  • 1400/03/18
  • ساعت 11:16

سلام استاد عزیز ، من همین کد بالا رو که بصورت فانکشنال و کلا جدا از پروژه خودمون مینویسم به خوبی کار میکنه و مشکلی نداره ولی توی سیستم خودمون نمیدونم چرا کار نمیکنه ، آدرسی هم که لطف کردید دادید رو دیدم و از قبلم همچین نمونه هایی دیده بودم ولی بازم نشد

شما فرمودید که حتما به دوره اضافه میشه ، انتهای همین دوره منظورتونه دیگه نه که بمونه برای آپدیت ؟

چون بنظرم خیلی مساله مهمیه و آموزش فریمورک به این خوبی transaction رو کم داره و بنظرم اضافش کنید خیلی خوب میشه

خیلی ممنون استاد عزیز


  • 1400/03/18
  • ساعت 11:21

والا چون خودم به این فریمورک اضافه نکردم نمیدونم چه مشکلی داره که نمیشه برای شما

 

باید تست کنم خودم

 

بروز رسانی هست

نگران نباشید قرار نیست زمان زیادی طول بکشه


logo-samandehi