显示基于另一个表上的外部id的列数据



我想在我的视图中显示基于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(

如何使用雄辩器或查询生成器实现这一点?谢谢

首先创建两个模型

produksProduct

kategorisKategori(根据已经创建的问题(

因此在产品模型中添加关系

public function category(){
return $this->belongTo(Kategori::class,'id_kategori','id')
}

则n查询

$joinkategori =Product::with('category')->get()

$joinkategori =Product::with('category')->has('category')->get()

相关内容

  • 没有找到相关文章

最新更新