首頁 php框架 YII yii2 aftersave怎麼用

yii2 aftersave怎麼用

Nov 05, 2019 am 11:48 AM
yii2

yii2在儲存完之後,會呼叫aftersave方法,aftersave裡只做了一件事,就是觸發了對應的event事件,EVENT_AFTER_INSERT或EVENT_AFTER_UPDATE,可以看下Yii2的event

yii2 aftersave怎麼用

需要把使用者提交的資料儲存到look 表,同時表單中的add_img 圖片位址數組,分別儲存到lookmeida 表。 (建議學習:yii教學

這個多出來的,儲存圖片的功能,不需要改變控制器的程式碼,借助Model 的afterSave 生命週期函數,就可以自動幫我們完成。原理是look表的記錄保存(或修改)之後,會產生一個 lookid ,然後我們將這個lookid 和 mediaurl 儲存到 lookmedia表中去。

1

2

3

4

5

6

7

8

9

10

11

12

13

public function afterSave($insert,$changedAttributes)

  {        if (Yii::$app->id=='app-backend'){            //保存图片字段

          $add_imgarr=$this->add_img;            if ($add_imgarr){                foreach (array_filter($add_imgarr) as $mediaurl){

                  $lookmedia=new Lookmedia();

                  $lookmedia->lookid=$this->lookid;

                  $lookmedia->mediaurl=$mediaurl;

                  $lookmedia->type=0;

                  $lookmedia->save();

              }

          }

      }        if (parent::afterSave($insert,$changedAttributes)) {            return true;

      }else return false;

  }

登入後複製

這裡只提三點,也算是幾個坑吧:

#1)afterSave 的參數,$insert 和$changedAttributes 是固定寫法,必須要有,否則報錯。

2)函數內部,在本地環境中,我之前寫的是 beforeSave 無報錯,程式運作正常;但移植到伺服器上之後,會報錯,於是改為 afterSave 後正常。

3)實測,我們新增的邏輯,必須放在 parent 函數之外,否則不會被執行(圖片已經上傳,但是lookmedia表中沒有記錄)

以上是yii2 aftersave怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1671
14
CakePHP 教程
1428
52
Laravel 教程
1331
25
PHP教程
1276
29
C# 教程
1256
24
YII:網絡開發的強大框架 YII:網絡開發的強大框架 Apr 15, 2025 am 12:09 AM

Yii是一個高性能的PHP框架,專為快速開發和高效的代碼生成設計。其核心特性包括:MVC架構:Yii採用MVC架構,幫助開發者將應用邏輯分離,使代碼更易維護和擴展。組件化和代碼生成:通過組件化和代碼生成,Yii減少開發者的重複工作,提高開發效率。性能優化:Yii使用延遲加載和緩存技術,確保高負載下的高效運行,並提供強大的ORM功能簡化數據庫操作。

yii2是什麼? yii2優缺點有哪些? yii2是什麼? yii2優缺點有哪些? Apr 18, 2025 pm 10:51 PM

Yii2 是一款功能強大的 PHP 框架,廣受開發者好評。它憑藉其高性能、可擴展性和用戶友好的界面,成為構建大型、複雜的 Web 應用程序的理想選擇。然而,與任何框架一樣,Yii2 也有一些優缺點需要考慮。

yi框架用什麼軟件比較好 yi框架使用軟件推薦 yi框架用什麼軟件比較好 yi框架使用軟件推薦 Apr 18, 2025 pm 11:03 PM

文章首段摘要:在選擇開發 Yi 框架應用程序的軟件時,需要考慮多個因素。雖然原生移動應用程序開發工具(如 XCode 和 Android Studio)可以提供強大的控制和靈活性,但跨平台框架(如 React Native 和 Flutter)憑藉其編寫一次,即可部署到多個平台的優點而越來越受歡迎。對於剛接觸移動開發的開發者,低代碼或無代碼平台(如 AppSheet 和 Glide)可以快速輕鬆地構建應用程序。另外,雲服務提供商(如 AWS Amplify 和 Firebase)提供了全面的工具

yi2和tp5區別有哪些 yi2和tp5區別有哪些 Apr 18, 2025 pm 11:06 PM

随着PHP框架技术的不断发展,Yi2和TP5作为两大主流框架备受关注。它们都以出色的性能、丰富的功能和健壮性著称,但却存在着一些差异和优劣势。了解这些区别对于开发者在选择框架时至关重要。

Yi2怎麼速率限制 Yi2怎麼速率限制 Apr 18, 2025 pm 11:00 PM

《Yi2速率限制指南》為用戶提供了解如何控制Yi2應用程序中數據傳輸速率的全面指南。通過實施速率限制,用戶可以優化應用程序性能,防止消耗過多帶寬並確保穩定可靠的連接。本指南將分步介紹如何配置Yi2的速率限制設置,涵蓋各種平台和場景,以滿足用戶不同的需求。

yii2怎麼顯示錯誤提示 yii2怎麼顯示錯誤提示 Apr 18, 2025 pm 11:09 PM

在 Yii2 中,顯示錯誤提示有兩種主要方法。一種是使用 Yii::$app-&amp;gt;errorHandler-&amp;gt;exception(),在異常發生時自動捕獲和顯示錯誤。另一種是使用 $this-&amp;gt;addError(),在模型驗證失敗時顯示錯誤,並可以在視圖中通過 $model-&amp;gt;getErrors() 訪問。視圖中,可以用 if ($errors = $model-&amp;gt;getErrors())

使用YII:創建強大而可擴展的Web解決方案 使用YII:創建強大而可擴展的Web解決方案 Apr 23, 2025 am 12:16 AM

Yii框架適合構建高效、安全和可擴展的Web應用。 1)Yii基於MVC架構,提供組件化設計和安全特性。 2)它支持基本CRUD操作和高級RESTfulAPI開發。 3)提供日誌記錄和調試工具欄等調試技巧。 4)建議使用緩存和延遲加載進行性能優化。

YII行動:現實世界中的示例和應用程序 YII行動:現實世界中的示例和應用程序 Apr 19, 2025 am 12:03 AM

Yii框架適合開發各種規模的Web應用,其優勢在於高性能和豐富的功能集。 1)Yii採用MVC架構,核心組件包括ActiveRecord、Widget和Gii工具。 2)通過請求處理流程,Yii高效處理HTTP請求。 3)基本用法展示了創建控制器和視圖的簡單示例。 4)高級用法通過ActiveRecord展示了數據庫操作的靈活性。 5)調試技巧包括使用調試工具欄和日誌系統。 6)性能優化建議使用緩存和數據庫查詢優化,遵循編碼規範和依賴注入以提高代碼質量。

See all articles