Dans thinkphp3.2, la modification des données est une opération courante. Cet article explique comment modifier les données dans thinkphp3.2.
Tout d’abord, nous devons préparer un exemple de tableau de données. Supposons que nous ayons une table de données nommée book
avec la structure suivante : 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
模型。在AppModel
目录下创建一个新模型:
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
rrreee
Book
. Créez un nouveau modèle dans le répertoire AppModel
: 🎜rrreee🎜Dans la classe model, nous devons spécifier la table de données à utiliser. Pour plus de simplicité, nous pouvons définir un attribut protected $table
dans la classe model : 🎜rrreee🎜 De cette façon, le modèle Book
peut être comparé au modèle book table de données Interagi. 🎜🎜Ensuite, nous devons écrire le code pour modifier les données. Supposons que nous souhaitions modifier le prix d'un certain livre. Nous pouvons y parvenir grâce au code suivant : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons d'abord la méthode <code>Book::get(1)
pour obtenir l'objet book avec la clé primaire 1, puis modifions le price et pass La méthode $book->save()
enregistre les modifications. 🎜🎜En plus d'obtenir des objets via des clés primaires, nous pouvons également utiliser la méthode where
pour filtrer les objets. Par exemple, si l'on souhaite modifier les prix de tous les livres dont l'auteur est "Zhang San", on peut utiliser le code suivant : 🎜rrreee🎜 Dans le code ci-dessus, on utilise Book::where('author', '=', 'Zhang San')->select()
obtient tous les objets de livre dont l'auteur est "Zhang San", et parcourt ces objets via foreach
, réduit le prix de 20% et enregistre les modifications. 🎜🎜En plus des méthodes ci-dessus, nous pouvons également utiliser la méthode update
pour modifier les données en une seule fois. Par exemple, si nous voulons changer le prix de tous les livres avec l'auteur "李思" à 35 yuans, nous pouvons utiliser le code suivant : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons Book::where(' author', '= ', '李思')->update(['price' => 35.00])
modifie le prix de tous les livres écrits par "李思" à 35 yuans à la fois, et passe $result !== false
Déterminez si la modification a réussi. 🎜🎜Ce qui précède explique comment modifier les données dans thinkphp3.2. J'espère que cela pourra aider les lecteurs. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!