Neues Modell erstellen
Es gibt zwei Methoden:
Eine besteht darin, manuell zu erstellen
1. Erstellen Sie einen neuen Modellordner
2. Erstellen Sie eine neue Datei user.php. Am besten entspricht der Name dem Tabellennamen
3. Code schreiben
<?php namespace app\index\model; use think\Model; class User extends Model { //如果表名和文件名不是对应的,用下面代码修改 protected $table = 'think_user'; }
Der zweite besteht darin, den Befehl zu verwenden:
>php think make:model index/Blog
Modell Instanziierung
Es gibt drei Möglichkeiten:
1. Verwenden Sie die statische Methode
rrree2. Verwenden Sie die Ladeklasse
rrree
use app\index\model\User; $li= User::get(1);
Datenbankabfragevorgang
get bedeutet, die Daten mit dem Primärschlüssel 1 abzufragen. Im Folgenden werden die Daten von name=thinkphp abgefragt
use think\Loader; $user= Loader::model('user'); $li= $user::get(1);
Sie können auch die Systemabfragemethode
$user= model('User'); $li= $user::get(1);
um mehrere Daten abzufragen
Verwenden Sie die all()-Methode
//取出主键为1的数据 $user = User::get(1); // 使用数组查询 $user = User::get(['name' => 'thinkphp']);
Oder verwenden Sie die Abfragemethode zum Anzeigen
$user = new User(); $user->where('name', 'thinkphp')->find();
Fragen Sie einen Feldwert ab
// 根据主键获取多个数据 $list = User::all('1,2,3'); // 或者使用数组 $list = User::all([1,2,3]); foreach($list as $key=>$user){ echo $user->name; } // 使用数组查询 $list = User::all(['status'=>1]); // 使用闭包查询 $list = User::all(function($query){ $query->where('status', 1)->limit(3)->order('id', 'asc'); }); foreach($list as $key=>$user){ echo $user->name; }
Sie können auch eine dynamische Abfrage verwenden
$user = new User(); // 查询数据集 $user->where('name', 'thinkphp') ->limit(10) ->order('id', 'desc') ->select();
Neue Daten
Verwenden Sie die Speichermethode
// 获取某个用户的积分 User::where('id',10)->value('score'); // 获取某个列的所有值 User::where('status',1)->column('name'); // 以id为索引 User::where('status',1)->column('name','id'); User::where('status',1)->column('id,name');
Verwenden Sie die Datenstapelmethode zum Speichern
// 根据name字段查询用户 $user = User::getByName('thinkphp'); // 根据email字段查询用户 $user = User::getByEmail('thinkphp@qq.com');
Die am häufigsten verwendete Methode ist das Importieren von Beiträgen oder holen Sie sich Daten während der Instanziierung und speichern Sie sie dann >Sie können auch die Hilfsfunktion verwenden
$user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save();
Einen löschen
$user = new User; $user->data([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com' ]); $user->save();
Mehrere löschen //如果需要过滤非数据表字段的数据,可以使用:
$user = new User($_POST);
// 过滤post数组中的非数据表字段数据
$user->allowField(true)->save();
//如果你通过外部提交赋值给模型,并且希望指定某些字段写入,可以使用:
$user = new User($_POST);
// post数组中只有name和email字段会写入
$user->allowField(['name','email'])->save();
$user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save(); // 获取自增ID echo $user->user_id;
$user = new User; $list = [ ['name'=>'thinkphp','email'=>'thinkphp@qq.com'], ['name'=>'onethink','email'=>'onethink@qq.com'] ]; $user->saveAll($list);
Aktualisierung gemäß Bedingungen
// 使用model助手函数实例化User模型 $user = model('User'); // 模型对象赋值 $user->data([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com' ]); $user->save(); 或者进行批量新增: $user = model('User'); // 批量新增 $list = [ ['name'=>'thinkphp','email'=>'thinkphp@qq.com'], ['name'=>'onethink','email'=>'onethink@qq.com'] ]; $user->saveAll($list);
Post-Einreichung direkt aktualisieren $user = User::get(1);
$user->delete();
User::destroy(1); // 支持批量删除多个数据 User::destroy('1,2,3'); // 或者 User::destroy([1,2,3]);
zu verhindern.
// 删除状态为0的数据 User::destroy(['status' => 0]); 还支持使用闭包删除,例如: User::destroy(function($query){ $query->where('id','>',10); }); 或者通过数据库类的查询条件删除 User::where('id','>',10)->delete();
mithilfe der Datenbankklasse hinzufügen Empfohlenes Tutorial: „
TP5“
Das obige ist der detaillierte Inhalt vonModelloperationen in thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!