Rumah  >  Artikel  >  rangka kerja php  >  Contoh untuk menerangkan cara menggunakan model dalam rangka kerja ThinkPHP

Contoh untuk menerangkan cara menggunakan model dalam rangka kerja ThinkPHP

PHPz
PHPzasal
2023-04-07 09:32:491028semak imbas

ThinkPHP ialah rangka kerja pembangunan PHP yang sangat baik dan sangat disukai oleh pembangun PHP. Dalam rangka kerja ThinkPHP, model adalah salah satu teras dan juga merupakan bahagian yang kerap digunakan dalam operasi pangkalan data. Model ini mengabstraksi operasi pangkalan data, menjadikannya lebih mudah dan lebih mudah untuk mengendalikan pangkalan data.

Artikel ini akan menerangkan cara menggunakan model dalam rangka kerja ThinkPHP.

  1. Tentukan model

Dalam rangka kerja ThinkPHP, anda boleh mentakrifkan model dengan mewarisi kelas ThinkModel.

namespace app\model;

use think\Model;

class UserModel extends Model
{
    //
}

Di atas ialah kod untuk mentakrifkan model pengguna ringkas. Antaranya, UserModel mewarisi daripada kelas ThinkModel, menunjukkan bahawa kelas ini ialah model. Kita boleh mentakrifkan beberapa kaedah dalam kelas ini, contohnya:

public function getUserByName($name)
{
    return $this->where('name', $name)->find();
}
  1. Menggunakan model dalam pengawal

Untuk menggunakan model dalam pengawal, anda perlu instantiate model dahulu , dan kemudian anda boleh memanggil kaedah yang ditentukan melalui model.

namespace app\controller;

use app\model\UserModel;
use think\Controller;

class UserController extends Controller
{
    public function getUserByName($name)
    {
        $userModel = new UserModel();
        $user = $userModel->getUserByName($name);
        return json($user);
    }
}

Di atas menggunakan model dalam pengawal. Kami mula-mula memperkenalkan kelas UserModel, kemudian nyatakan kelas ini dan panggil kaedah getUserByName.

  1. Perkaitan jadual data model

Dalam rangka kerja ThinkPHP, model menyokong perkaitan jadual data, yang sangat biasa dalam pembangunan. Sebagai contoh, kita boleh mentakrifkan model Pesanan dan model Pengguna, di mana model Pesanan dikaitkan dengan pengguna, kodnya adalah seperti berikut:

class Order extends Model
{
    public function user()
    {
        return $this->belongsTo('User');
    }
}

Di atas ialah kod untuk menentukan model Pesanan, di mana kaedah pengguna menunjukkan bahawa model Pesanan adalah milik model Pengguna.

Jika kami ingin menanyakan maklumat pengguna pesanan, kami boleh mencapainya dengan mudah melalui perkaitan model:

$order = Order::get($id);
$user = $order->user;

Kod di atas akan mengembalikan maklumat pengguna pesanan itu.

  1. Penyiapan dan pengesahan model secara automatik

Dalam rangka kerja ThinkPHP, model menyokong penyiapan dan pengesahan automatik. Sebagai contoh, kita boleh menambah medan autolengkap pada model Pengguna:

class UserModel extends Model
{
    protected $auto = ['password'];

    protected function setPasswordAttr($value)
    {
        return md5($value);
    }
}

Kod di atas menunjukkan bahawa semasa menulis data, jika medan kata laluan dihantar, ia akan ditukar secara automatik kepada md5 selepas penyulitan.

Jika anda perlu mengesahkan data, anda boleh menambah kaedah pengesahan pada model:

class UserModel extends Model
{
    public function validateUser($data)
    {
        $rule = [
            'name' => 'require|unique:user',
            'email' => 'require|email|unique:user',
            'password' => 'require|min:6'
        ];

        $message = [
            'name.require' => '用户名不能为空',
            'name.unique' => '用户名已存在',
            'email.require' => '邮箱不能为空',
            'email.email' => '邮箱格式不正确',
            'email.unique' => '邮箱已存在',
            'password.require' => '密码不能为空',
            'password.min' => '密码长度不能小于6位'
        ];

        $validate = new Validate($rule, $message);
        return $validate->check($data);
    }
}

Dalam kod di atas, kami menentukan kaedah validateUser untuk mengesahkan maklumat pendaftaran pengguna. Peraturan dan mesej ralat ditakrifkan. Panggil kaedah ini dalam Pengawal untuk mencapai pengesahan.

Di atas ialah cara menggunakan model dalam rangka kerja ThinkPHP. Model adalah bahagian yang sangat biasa digunakan Menguasai cara menggunakan model akan menjadikan operasi pangkalan data dan pemprosesan data lebih mudah.

Atas ialah kandungan terperinci Contoh untuk menerangkan cara menggunakan model dalam rangka kerja ThinkPHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn