Pendekatan Fasih untuk Menyertai Tiga Jadual
Masalah:
Pertimbangkan tiga jadual: Artikel, Kategori, dan Pengguna. Objektifnya adalah untuk mendapatkan Artikel dengan nama Kategori dan Nama Pengguna dan bukannya ID masing-masing.
Penyelesaian:
Eloquent menawarkan kaedah yang mudah untuk mendapatkan data hubungan.
Definisi Model:
// Article.php namespace App\Models; use Eloquent; class Article extends Eloquent { protected $table = 'articles'; public function user() { return $this->belongsTo('App\Models\User'); } public function category() { return $this->belongsTo('App\Models\Category'); } } // Category.php namespace App\Models; use Eloquent; class Category extends Eloquent { protected $table = "categories"; public function articles() { return $this->hasMany('App\Models\Article'); } } // User.php namespace App\Models; use Eloquent; class User extends Eloquent { protected $table = 'users'; public function articles() { return $this->hasMany('App\Models\Article'); } }
Pertanyaan Fasih:
Untuk mendapatkan semula Artikel dengan Kategori dan maklumat Pengguna:
$article = \App\Models\Article::with(['user','category'])->first();
Penggunaan:
Untuk mengakses data berkaitan:
$article->user->user_name //Retrieve user name $article->category->category_name //Retrieve Category name
Contoh Lain:
$categories = \App\Models\Category::with('articles')->get();
$users = \App\Models\Category::with('users')->get();
Sumber Tambahan :
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Artikel dengan Kategori dan Maklumat Pengguna menggunakan Eloquent?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!