Rumah >rangka kerja php >ThinkPHP >Bagaimana untuk menambah data ke pangkalan data thinkphp

Bagaimana untuk menambah data ke pangkalan data thinkphp

藏色散人
藏色散人asal
2021-12-31 11:53:014395semak imbas

Cara menambah data ke pangkalan data thinkphp: 1. Tambah sekeping data melalui kaedah sisipan 2. Gunakan kaedah data bersama sisipan untuk menambah sekeping data; data ke kaedah insertAll kelas Db.

Bagaimana untuk menambah data ke pangkalan data thinkphp

Persekitaran pengendalian artikel ini: sistem Windows 7, versi thinkphp v5.1, komputer Dell G3.

Bagaimana untuk menambah data ke pangkalan data thinkphp?

Tambah sekeping data

Gunakan kaedah sisipan Db kelas untuk menyerahkan data ke pangkalan data

$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::name('user')->insert($data);

Kaedah sisipan berjaya mengembalikan bilangan data yang berjaya ditambahkan Biasanya, ia mengembalikan 1

atau menggunakan kaedah data bersama-sama dengan sisipan.

$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::name('user')
    ->data($data)
    ->insert();

Jika tiada medan foo atau bar dalam jadual data anda, pengecualian akan dilemparkan.

Jika anda tidak mahu membuang pengecualian, anda boleh menggunakan kaedah berikut:

$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::name('user')->strict(false)->insert($data);

Nilai medan yang tidak wujud akan dibuang terus.

Jika ia adalah pangkalan data mysql, gantikan penulisan disokong, contohnya:

$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::name('user')->insert($data, true);

Selepas menambah data, jika anda perlu mengembalikan kunci utama data baharu yang ditambah secara automatik, anda boleh menggunakan kaedah insertGetId untuk menambah data dan mengembalikannya Nilai kunci utama:

$userId = Db::name('user')->insertGetId($data);

kaedah insertGetId berjaya menambah data dan mengembalikan kunci utama yang ditambah secara automatik bagi data yang ditambah

Tambah berbilang keping data

Tambah berbilang keping Data yang akan ditambah boleh dihantar terus ke insertAll kaedah kelas Db

$data = [
    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);

Kaedah insertAll berjaya menambah data dan mengembalikan bilangan item yang berjaya ditambah

Jika ia adalah pangkalan data mysql, gantikan penulisan disokong Input, contohnya:

$data = [
    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data, true);

Anda juga boleh menggunakan kaedah data

$data = [
    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->data($data)->insertAll();

untuk memastikan bahawa medan data yang akan ditambah dalam kelompok adalah konsisten

Jika terdapat banyak data untuk dimasukkan dalam kelompok , anda boleh menentukan sisipan kelompok dan menggunakan kaedah had untuk menentukan had kuantiti bagi setiap sisipan.

$data = [
    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
    ...
];
// 分批写入 每次最多100条数据
Db::name('user')->data($data)->limit(100)->insertAll();

Pembelajaran yang disyorkan: "10 tutorial video thinkphp terkini"

Atas ialah kandungan terperinci Bagaimana untuk menambah data ke pangkalan data 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