Rumah >rangka kerja php >ThinkPHP >Bagaimana untuk menyediakan model thinkphp
Dalam thinkphp, mencipta model memerlukan pewarisan kelas thinkModel. Sebaik sahaja anda mewarisi kelas ini, anda boleh menggunakan pelbagai fungsi dan sifat yang disediakan untuk berinteraksi dengan pangkalan data. Di bawah, kami akan memperkenalkan tetapan model thinkphp dari aspek berikut.
Tetapan sambungan pangkalan data
Dalam thinkphp, kami boleh menetapkan maklumat sambungan dengan pangkalan data melalui fail database.php dalam direktori aplikasi . Fail ini mengandungi semua maklumat konfigurasi berkaitan pangkalan data, seperti nama hos, nama pengguna, kata laluan, nama pangkalan data, dsb. Untuk butiran, sila rujuk kod berikut:
return [ // 默认数据库配置 'database' => [ // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'test', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'think_', ], ];
Kami boleh mengubah suai kandungan fail konfigurasi di atas mengikut situasi sebenar untuk mencapai sambungan dengan pangkalan data.
Definisi model
Dalam thinkphp, kita boleh mengendalikan pangkalan data dengan mentakrifkan model. Kita boleh menganggap model sebagai pemetaan jadual data, iaitu, setiap atribut dalam model sepadan dengan setiap medan dalam jadual.
Kita boleh mentakrifkan model yang sepadan melalui kod berikut:
namespace app\index\model; use think\Model; class User extends Model { // }
Kod di atas mentakrifkan model bernama Pengguna dan melaksanakan operasi jadual data yang sepadan.
Menetapkan atribut model
Dalam thinkphp, kita boleh mengawal cara ia berfungsi dengan menetapkan atribut model. Sebagai contoh, kita boleh menetapkan nama jadual, kunci utama, sama ada untuk menulis cap masa secara automatik, dsb. Berikut ialah beberapa kaedah tetapan atribut yang biasa digunakan:
1) $table: Tetapkan nama jadual yang sepadan dengan model.
protected $table = 'user';
2) $pk: Tetapkan kunci utama jadual.
protected $pk = 'id';
3) $autoWriteTimestamp: Tetapkan sama ada untuk menulis cap masa secara automatik.
protected $autoWriteTimestamp = true;
4) $createTime: Tetapkan nama medan masa penciptaan.
protected $createTime = 'create_time';
5) $updateTime: Tetapkan nama medan masa kemas kini.
protected $updateTime = 'update_time';
boleh ditetapkan mengikut keperluan perniagaan tertentu.
Operasi perkaitan model
Dalam thinkphp, kita boleh menggunakan kaedah perkaitan dalam atribut model untuk melaksanakan operasi perkaitan pada model yang berbeza. Berikut ialah beberapa operasi persatuan model yang biasa digunakan:
1) Persatuan satu sama satu
public function profile() { return $this->hasOne('Profile', 'user_id'); }
2) Persatuan satu dengan ramai
public function comments() { return $this->hasMany('Comment', 'blog_id'); }
3) Banyak- kepada-banyak persatuan
public function roles() { return $this->belongsToMany('Role', 'user_role', 'role_id', 'user_id'); }
Kod di atas terutamanya bertujuan untuk beberapa perhubungan mudah dan boleh dikaji dan diselaraskan mengikut keperluan perniagaan.
Atas ialah kandungan terperinci Bagaimana untuk menyediakan model thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!