Home  >  Article  >  PHP Framework  >  Example analysis of how to modify data in thinkphp3.2

Example analysis of how to modify data in thinkphp3.2

PHPz
PHPzOriginal
2023-04-07 09:25:47553browse

In thinkphp3.2, modifying data is a common operation. This article will introduce how to modify data in thinkphp3.2.

First, we need to prepare a sample data table. Suppose we have a data table named book with the following structure:

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)

In this data table, we can store the name, author and price of the book.

Next, we need to create a Book model. Create a new model in the App\Model directory:

namespace App\Model;

use think\Model;

class Book extends Model
{

}

In the model class, we need to specify the data table to use. For simplicity, we can define a protected $table attribute in the model class:

namespace App\Model;

use think\Model;

class Book extends Model
{
    protected $table = 'book';
}

In this way, the Book model can be compared with the book data The table is interactive.

Next, we need to write code to modify the data. Suppose we want to change the price of a certain book. We can achieve this through the following code:

use App\Model\Book;

$book = Book::get(1); // 获取主键为1的书籍对象
$book->price = 29.99; // 修改价格
$book->save(); // 保存修改

In the above code, we first use the Book::get(1) method to obtain the book object with the primary key 1, then modify the price and pass $book->save()Method to save changes.

In addition to obtaining objects through primary keys, we can also use the where method to filter objects. For example, if we want to modify the prices of all books whose author is "Zhang San", we can use the following code:

use App\Model\Book;

$books = Book::where('author', '=', '张三')->select(); // 获取所有作者为“张三”的书籍对象
foreach ($books as $book) {
    $book->price *= 0.8; // 将价格打八折
    $book->save(); // 保存修改
}

In the above code, we use Book::where('author', ' =', 'Zhang San')->select()The method obtains all book objects whose author is "Zhang San", and traverses these objects through a foreach loop, discounts the price by 20%, and Save changes.

In addition to the above methods, we can also use the update method to modify the data at one time. For example, if we want to change the price of all books written by "李思" to 35 yuan, we can use the following code:

use App\Model\Book;

$result = Book::where('author', '=', '李四')->update(['price' => 35.00]); // 修改价格
if ($result !== false) {
    echo '修改成功!'; // 输出结果
}

In the above code, we use Book::where('author ', '=', '李思')->update(['price' => 35.00])The method changes the price of all books written by "李思" to 35 yuan at one time, and Use $result !== false to determine whether the modification is successful.

The above is the method of modifying data in thinkphp3.2. I hope it can help readers.

The above is the detailed content of Example analysis of how to modify data in thinkphp3.2. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn