【发布时间】:2021-10-23 03:09:49
【问题描述】:
我通过代码从我们的数据库中获取服务
'services' => Service::with('seller.user', 'seller.level', 'subcategory')
->whereHas('seller', function ($query) {
return $query->where('status', 'active');
})
->Where('tags', 'like', '%' . $this->tag . '%')
->withAvg('review', 'rating')
->withCount('review')
->paginate(20)
如何忽略循环中重复的子类别
@foreach ($services as $service)
$$service->subcategory->name
@endforeach
我得到了很多重复的子类别
我需要子类别的详细信息而不仅仅是名称
关系
class Service extends Model
{
public function subcategory()
{
return $this->belongsTo(Subcategory::class);
}
}
class Subcategory extends Model
{
public function service()
{
return $this->hasMany(Service::class);
}
}
餐桌服务
Schema::create('services', function (Blueprint $table) {
$table->id();
$table->foreignId('seller_id')->constrained()->onDelete('cascade')->onUpdate('cascade');
$table->foreignId('subcategory_id')->constrained()->onDelete('cascade')->onUpdate('cascade');
$table->string('title')->nullable();
$table->string('slug')->nullable();
$table->float('price')->nullable();
$table->json('tags')->nullable();
}
表格子类别
Schema::create('subcategories', function (Blueprint $table) {
$table->id();
$table->foreignId('category_id')->constrained()->onDelete('cascade')->onUpdate('cascade');
$table->string('name');
}
【问题讨论】: