首頁  >  文章  >  php框架  >  範例解析thinkphp3.2中怎麼修改數據

範例解析thinkphp3.2中怎麼修改數據

PHPz
PHPz原創
2023-04-07 09:25:47511瀏覽

在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中文網其他相關文章!

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