我想在我的视图中显示基于produks选项卡中的id_kategori的kategori表中的kategori_name,但使用Eloquent或Query Builder 仍会出错
这是我的产品迁移
Schema::create('produks', function (Blueprint $table) {
$table->id();
$table->string('product_name');
$table->foreignId('id_kategori')->references('id')->on('kategoris');
$table->timestamps();
});
这是类别迁移
Schema::create('kategoris', function (Blueprint $table) {
$table->id();
$table->string('kategori_name');
$table->timestamps();
});
这是我的尝试:
$joinkategori = DB::table('produks')->where('id_kategori')->where(Kategori::select('kategori_name')->first());
return view('admin/createproduk', compact('joinkategori'));
但仍会出现错误
未定义的属性:Illuminate\Database\MySqlConnection::$nama_kategori(视图:D:\oricraft\resources\views\admin\createproduk.blade.php(
如何使用雄辩器或查询生成器实现这一点?谢谢
首先创建两个模型
produks
的Product
kategoris
的Kategori
(根据已经创建的问题(
因此在产品模型中添加关系
public function category(){
return $this->belongTo(Kategori::class,'id_kategori','id')
}
则n查询
$joinkategori =Product::with('category')->get()
或
$joinkategori =Product::with('category')->has('category')->get()