在thinkphp3.2中,修改資料是常見的操作。本文將介紹如何在thinkphp3.2中進行資料修改。
首先,我們需要準備一個範例資料表。假設我們有一個名為book
的資料表,其結構如下:
id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) COLLATE utf8_unicode_ci NOT NULL, author varchar(255) COLLATE utf8_unicode_ci NOT NULL, price decimal(10,2) NOT NULL, PRIMARY KEY (id)
在該資料表中,我們可以儲存書籍的名字、作者和價格。
接下來,我們需要建立一個Book
模型。在App\Model
目錄下建立一個新模型:
namespace App\Model; use think\Model; class Book extends Model { }
在模型類別裡,我們需要指定使用的資料表。為了簡便,我們可以在模型類別中定義一個protected $table
屬性:
namespace App\Model; use think\Model; class Book extends Model { protected $table = 'book'; }
這樣,Book
模型就可以與book
數據表進行互動了。
接下來,我們需要寫修改資料的程式碼。假設我們要修改某本書的價格。我們可以透過以下程式碼實現:
use App\Model\Book; $book = Book::get(1); // 获取主键为1的书籍对象 $book->price = 29.99; // 修改价格 $book->save(); // 保存修改
在上述程式碼中,我們首先使用Book::get(1)
方法取得主鍵為1的書籍對象,然後修改了價格並通過$book->save()
方法儲存修改。
除了透過主鍵取得對象,我們也可以使用where
方法進行篩選對象。例如,如果我們要修改作者為「張三」的所有書籍的價格,可以使用以下程式碼:
use App\Model\Book; $books = Book::where('author', '=', '张三')->select(); // 获取所有作者为“张三”的书籍对象 foreach ($books as $book) { $book->price *= 0.8; // 将价格打八折 $book->save(); // 保存修改 }
在上述程式碼中,我們使用Book::where('author', ' =', '張三')->select()
方法取得所有作者為「張三」的書籍對象,並透過foreach
循環遍歷這些對象,將價格打八折並保存修改。
除了上述方法外,我們還可以使用update
方法一次修改資料。例如,如果我們要將所有作者為「李四」的書籍價格修改為35元,可以使用以下程式碼:
use App\Model\Book; $result = Book::where('author', '=', '李四')->update(['price' => 35.00]); // 修改价格 if ($result !== false) { echo '修改成功!'; // 输出结果 }
在上述程式碼中,我們使用Book::where('author ', '=', '李四')->update(['price' => 35.00])
方法一次性將作者為“李四”的所有書籍的價格修改為35元,並透過$result !== false
判斷修改是否成功。
以上就是在thinkphp3.2修改資料的方法,希望能夠幫助讀者。
以上是範例解析thinkphp3.2中怎麼修改數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!