Rumah >pangkalan data >tutorial mysql >Laravel Fasih ORM dalam Mendapatkan Separa Model Bangla)

Laravel Fasih ORM dalam Mendapatkan Separa Model Bangla)

Linda Hamilton
Linda Hamiltonasal
2025-01-08 20:11:45822semak imbas

Laravel Eloquent ORM in Bangla Part-Models Retrieving)

Laravel Eloquent menyediakan kaedah yang mudah dan boleh dibaca untuk berinteraksi dengan pangkalan data, menjadikannya mudah untuk mendapatkan data pangkalan data. Beberapa teknik pemerolehan data diperkenalkan di bawah:

1. Dapatkan semua rekod

Gunakan kaedah all() untuk mendapatkan semua rekod dalam jadual:

<code class="language-php">use App\Models\Post;

$posts = Post::all();</code>

Ini akan mengembalikan Koleksi. Anda boleh mengakses data menggunakan gelung foreach atau kaedah pengumpulan lain:

<code class="language-php">foreach ($posts as $post) {
    echo $post->title;
}</code>

2. Dapatkan satu rekod

1. find() Kaedah: Dapatkan satu rekod berdasarkan kunci utama.

<code class="language-php">$post = Post::find(1);

if ($post) {
    echo $post->title;
}</code>

2. findOrFail() Kaedah: Dapatkan satu rekod berdasarkan kunci utama Jika rekod tidak wujud, pengecualian 404 akan dibuang.

<code class="language-php">$post = Post::findOrFail(1);</code>

3. first() Kaedah: Dapatkan rekod pertama yang memenuhi syarat.

<code class="language-php">$post = Post::where('status', 'published')->first();</code>

4. firstOrFail() Kaedah: Dapatkan rekod pertama yang memenuhi syarat Jika rekod tidak wujud, pengecualian 404 akan dilemparkan.

<code class="language-php">$post = Post::where('status', 'published')->firstOrFail();</code>

3. Gunakan syarat pertanyaan untuk menapis rekod

Gunakan where dan pernyataan bersyarat lain untuk menapis data.

1. where Kaedah:

<code class="language-php">$posts = Post::where('status', 'published')->get();</code>

2. Pelbagai syarat:

<code class="language-php">$posts = Post::where('status', 'published')
             ->where('user_id', 1)
             ->get();</code>

3. orWhere Kaedah:

<code class="language-php">$posts = Post::where('status', 'published')
             ->orWhere('status', 'draft')
             ->get();</code>

4. Pilih medan tertentu

Eloquent mendapat semua medan secara lalai. Gunakan kaedah select() untuk memilih medan tertentu:

<code class="language-php">$posts = Post::select('title', 'content')->get();</code>

5. Penomboran

Gunakan kaedah paginate() untuk mendapatkan data dalam halaman:

<code class="language-php">$posts = Post::paginate(10);</code>

Tunjukkan pautan penomboran dalam templat Blade:

<code class="language-blade">{{ $posts->links() }}</code>

6. Pecahan Data

Apabila memproses sejumlah besar data, penggunaan memori boleh dikurangkan dengan berkesan:

<code class="language-php">Post::chunk(100, function ($posts) {
    foreach ($posts as $post) {
        echo $post->title;
    }
});</code>

7. Isih hasil (Pemesanan)

Gunakan kaedah orderBy() untuk mengisih mengikut susunan yang ditentukan:

<code class="language-php">$posts = Post::orderBy('created_at', 'desc')->get();</code>

8. Had dan Offset

Gunakan kaedah take() atau limit() dan skip() untuk mengehadkan bilangan rekod yang diambil:

<code class="language-php">$posts = Post::take(5)->get(); // 获取前 5 条记录
$posts = Post::skip(10)->take(5)->get(); // 跳过前 10 条,获取接下来的 5 条</code>

9. Fungsi agregat (Agregat)

1. Kiraan:

<code class="language-php">$count = Post::count();</code>

2. Nilai maksimum:

<code class="language-php">$maxViews = Post::max('views');</code>

3. Nilai minimum:

<code class="language-php">$minViews = Post::min('views');</code>

4. Purata:

<code class="language-php">$avgViews = Post::avg('views');</code>

5. Jumlah:

<code class="language-php">$totalViews = Post::sum('views');</code>

10. Pengambilan semula perhubungan tersuai

Eloquent menyokong mendapatkan data daripada model lain melalui perhubungan.

1. Bersemangat Memuatkan:

<code class="language-php">$posts = Post::with('comments')->get();</code>

2. Nyatakan perhubungan:

<code class="language-php">$posts = Post::with(['comments', 'user'])->get();</code>

11. Pertanyaan Mentah

Laksanakan pertanyaan SQL tersuai menggunakan fasad DB Laravel:

<code class="language-php">use App\Models\Post;

$posts = Post::all();</code>

Kaedah ini menyediakan kaedah pemerolehan data yang fleksibel untuk memenuhi pelbagai keperluan operasi pangkalan data. Sila pilih kaedah yang sesuai mengikut situasi sebenar.

Atas ialah kandungan terperinci Laravel Fasih ORM dalam Mendapatkan Separa Model Bangla). 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